.section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 11
.section __TEXT,__literal8,8byte_literals
.align 3
LCPI0_0:
.quad 4636737291354636288 ## double 100
.section __TEXT,__text,regular,pure_instructions
.globl _main
.align 4, 0x90
_main: ## [MENTION=98025]Mai[/MENTION]n
.cfi_startproc
## BB#0:
pushq %rbp
Ltmp0:
.cfi_def_cfa_offset 16
Ltmp1:
.cfi_offset %rbp, -16
movq %rsp, %rbp
Ltmp2:
.cfi_def_cfa_register %rbp
subq $128, %rsp
movl $0, -4(%rbp)
movl %edi, -8(%rbp)
movq %rsi, -16(%rbp)
cmpl $4, -8(%rbp)
je LBB0_2
## BB#1:
leaq L_.str(%rip), %rdi
movb $0, %al
callq _printf
leaq L_.str.1(%rip), %rdi
movl %eax, -100(%rbp) ## 4-byte Spill
movb $0, %al
callq _printf
xorl %edi, %edi
movl %eax, -104(%rbp) ## 4-byte Spill
callq _exit
LBB0_2:
xorl %eax, %eax
movl %eax, %edi
callq _time
movl %eax, %ecx
movl %ecx, %edi
callq _srand
movq -16(%rbp), %rax
movq 8(%rax), %rdi
callq _atoi
movl %eax, -20(%rbp)
movq -16(%rbp), %rdi
movq 16(%rdi), %rdi
callq _atoi
movl %eax, -24(%rbp)
movq -16(%rbp), %rdi
movq 24(%rdi), %rdi
callq _atoi
movl %eax, -28(%rbp)
movl $1000000, -32(%rbp) ## imm = 0xF4240
movl $0, -36(%rbp)
movl $0, -40(%rbp)
movl $0, -44(%rbp)
LBB0_3: ## =>This Inner Loop Header: Depth=1
movl -44(%rbp), %eax
cmpl -32(%rbp), %eax
jge LBB0_20
## BB#4: ## in Loop: Header=BB0_3 Depth=1
callq _rand
movl $20, %ecx
cltd
idivl %ecx
addl $1, %edx
movl %edx, -48(%rbp)
cmpl $0, -28(%rbp)
je LBB0_11
## BB#5: ## in Loop: Header=BB0_3 Depth=1
callq _rand
movl $20, %ecx
cltd
idivl %ecx
addl $1, %edx
movl %edx, -52(%rbp)
movl -52(%rbp), %ecx
cmpl -48(%rbp), %ecx
jge LBB0_10
## BB#6: ## in Loop: Header=BB0_3 Depth=1
cmpl $0, -28(%rbp)
jge LBB0_8
## BB#7: ## in Loop: Header=BB0_3 Depth=1
movl -52(%rbp), %eax
movl %eax, -108(%rbp) ## 4-byte Spill
jmp LBB0_9
LBB0_8: ## in Loop: Header=BB0_3 Depth=1
movl -48(%rbp), %eax
movl %eax, -108(%rbp) ## 4-byte Spill
LBB0_9: ## in Loop: Header=BB0_3 Depth=1
movl -108(%rbp), %eax ## 4-byte Reload
movl %eax, -48(%rbp)
LBB0_10: ## in Loop: Header=BB0_3 Depth=1
jmp LBB0_11
LBB0_11: ## in Loop: Header=BB0_3 Depth=1
movl -20(%rbp), %eax
addl -48(%rbp), %eax
movl %eax, -48(%rbp)
movl -48(%rbp), %eax
cmpl -24(%rbp), %eax
jl LBB0_18
## BB#12: ## in Loop: Header=BB0_3 Depth=1
leaq L_.str.2(%rip), %rdi
movl $5, %eax
movq l_main.dice(%rip), %rcx
movq %rcx, -80(%rbp)
movq l_main.dice+8(%rip), %rcx
movq %rcx, -72(%rbp)
movl l_main.dice+16(%rip), %edx
movl %edx, -64(%rbp)
movl -48(%rbp), %edx
subl -24(%rbp), %edx
movl %eax, -112(%rbp) ## 4-byte Spill
movl %edx, %eax
cltd
movl -112(%rbp), %esi ## 4-byte Reload
idivl %esi
movl %eax, -84(%rbp)
movl -84(%rbp), %esi
movb $0, %al
callq _printf
cmpl $4, -84(%rbp)
movl %eax, -116(%rbp) ## 4-byte Spill
jle LBB0_14
## BB#13: ## in Loop: Header=BB0_3 Depth=1
movl $4, -84(%rbp)
LBB0_14: ## in Loop: Header=BB0_3 Depth=1
movslq -84(%rbp), %rax
movl -80(%rbp,%rax,4), %ecx
movl %ecx, -88(%rbp)
callq _rand
cltd
idivl -88(%rbp)
cmpl $0, %edx
jne LBB0_16
## BB#15: ## in Loop: Header=BB0_3 Depth=1
movl -40(%rbp), %eax
addl $1, %eax
movl %eax, -40(%rbp)
jmp LBB0_17
LBB0_16: ## in Loop: Header=BB0_3 Depth=1
movl -36(%rbp), %eax
addl $1, %eax
movl %eax, -36(%rbp)
LBB0_17: ## in Loop: Header=BB0_3 Depth=1
jmp LBB0_18
LBB0_18: ## in Loop: Header=BB0_3 Depth=1
jmp LBB0_19
LBB0_19: ## in Loop: Header=BB0_3 Depth=1
movl -44(%rbp), %eax
addl $1, %eax
movl %eax, -44(%rbp)
jmp LBB0_3
LBB0_20:
leaq L_.str.3(%rip), %rdi
movsd LCPI0_0(%rip), %xmm0 ## xmm0 = mem[0],zero
cvtsi2sdl -36(%rbp), %xmm1
cvtsi2sdl -32(%rbp), %xmm2
divsd %xmm2, %xmm1
mulsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, -92(%rbp)
cvtsi2sdl -40(%rbp), %xmm1
cvtsi2sdl -32(%rbp), %xmm2
divsd %xmm2, %xmm1
mulsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, -96(%rbp)
movl -92(%rbp), %esi
movb $0, %al
callq _printf
leaq L_.str.4(%rip), %rdi
movl -96(%rbp), %esi
movl %eax, -120(%rbp) ## 4-byte Spill
movb $0, %al
callq _printf
xorl %edi, %edi
movl %eax, -124(%rbp) ## 4-byte Spill
callq _exit
.cfi_endproc
.section __TEXT,__cstring,cstring_literals
L_.str: ## @.str
.asciz "Usage: 'roll [modifier] [dc] [dis/advantage]\n"
L_.str.1: ## @.str.1
.asciz "(-1 == disadvantage, 0 == normal, 1 == advantage\n "
.section __TEXT,__const
.align 4 ## [MENTION=98025]Mai[/MENTION]n.dice
l_main.dice:
.long 4 ## 0x4
.long 6 ## 0x6
.long 8 ## 0x8
.long 12 ## 0xc
.long 20 ## 0x14
.section __TEXT,__cstring,cstring_literals
L_.str.2: ## @.str.2
.asciz "%d\n"
L_.str.3: ## @.str.3
.asciz "Success Rate: %d%%\n"
L_.str.4: ## @.str.4
.asciz "False Success Rate: %d%%\n"
.subsections_via_symbols