Function at 0x401460
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push edi
and esp, 0xfffffff0
sub esp, 0x1f0
call sym.___main
mov dword [esp], 0
call sym._time
mov dword [esp], eax
call sym._srand
mov dword [esp + 0x1c4], 3
mov dword [esp + 0x1c0], 0xb
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1bc], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c0]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1b8], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1b4], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c0]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1b0], edx
mov eax, dword [esp + 0x1b4]
cmp eax, dword [esp + 0x1bc]
je 0x4014d6
mov eax, dword [esp + 0x1b0]
cmp eax, dword [esp + 0x1b8]
jne 0x401532
jmp 0x4014d6
nop
lea edx, [esp + 0x164]
mov eax, 0
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x1bc]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1b8]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
mov dword [esp + 0x164], eax
mov edx, dword [esp + 0x1b4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1b0]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
mov dword [esp + 0x168], eax
mov edx, dword [esp + 0x1bc]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1b8]
add eax, edx
mov dword [eax*4 + 0x405020], 0
mov edx, dword [esp + 0x1b4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1b0]
add eax, edx
mov dword [eax*4 + 0x405020], 0
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
mov dword [esp], str.The_dealer_has_an_unknown_card_and_a__d__n
call sym._printf
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e0], 0
jmp 0x401635
mov eax, dword [esp + 0x1e0]
mov eax, dword [esp + eax*4 + 0x164]
add dword [esp + 0x1e8], eax
add dword [esp + 0x1e0], 1
cmp dword [esp + 0x1e0], 1
jle 0x401618
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1dc], 0
jmp 0x401671
mov eax, dword [esp + 0x1dc]
mov eax, dword [esp + eax*4 + 0x74]
add dword [esp + 0x1e4], eax
add dword [esp + 0x1dc], 1
mov eax, dword [esp + 0x1dc]
cmp eax, dword [esp + 0x1ec]
jl 0x401657
cmp dword [esp + 0x1ec], 0
jne 0x4018d4
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1ac], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c0]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1a8], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1a4], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c0]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x1ac]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a8]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
cmp eax, 0xa
jg 0x40174c
mov edx, dword [esp + 0x1ac]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a8]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
test eax, eax
jns 0x40176e
mov eax, dword [esp + 0x1a8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 4], eax
mov dword [esp], str._d__d__n
call sym._printf
mov edx, dword [esp + 0x1a4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a0]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
cmp eax, 0xa
jg 0x4017b7
mov edx, dword [esp + 0x1a4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a0]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
test eax, eax
jns 0x4017d9
mov eax, dword [esp + 0x1a0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 4], eax
mov dword [esp], str._d__d__n
call sym._printf
mov edx, dword [esp + 0x1ac]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a8]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
test eax, eax
je 0x40168f
mov edx, dword [esp + 0x1a4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a0]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
test eax, eax
je 0x40168f
mov edx, dword [esp + 0x1ac]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a8]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x19c], eax
mov edx, dword [esp + 0x1ac]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a8]
add eax, edx
mov dword [eax*4 + 0x405020], 0
mov edx, dword [esp + 0x1a4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a0]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x1a4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x1a0]
add eax, edx
mov dword [eax*4 + 0x405020], 0
mov dword [esp + 0x1ec], 2
jmp 0x401a01
mov dword [esp + 4], 0x406096
lea eax, [esp + 0x10]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x4019d7
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x198], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c0]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x194], edx
mov edx, dword [esp + 0x198]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x194]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
test eax, eax
je 0x4018f0
mov edx, dword [esp + 0x198]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x194]
add eax, edx
mov edx, dword [eax*4 + 0x405020]
mov eax, dword [esp + 0x1ec]
mov dword [esp + eax*4 + 0x74], edx
mov edx, dword [esp + 0x198]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x194]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
mov dword [esp + 4], eax
mov dword [esp], str.You_drew_a__d__n
call sym._printf
mov edx, dword [esp + 0x198]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x194]
add eax, edx
mov dword [eax*4 + 0x405020], 0
add dword [esp + 0x1ec], 1
jmp 0x401a01
mov dword [esp + 4], str.Stay
lea eax, [esp + 0x10]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x401ace
cmp dword [esp + 0x1e4], 0x14
jg 0x401ad1
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1d8], 0
jmp 0x401a33
mov eax, dword [esp + 0x1d8]
mov eax, dword [esp + eax*4 + 0x74]
add dword [esp + 0x1e4], eax
add dword [esp + 0x1d8], 1
mov eax, dword [esp + 0x1d8]
cmp eax, dword [esp + 0x1ec]
jl 0x401a19
cmp dword [esp + 0x1e4], 0x14
jg 0x401ad4
mov dword [esp], str.Your_cards_are:
call sym._printf
mov dword [esp + 0x1d4], 0
jmp 0x401a8d
mov eax, dword [esp + 0x1d4]
mov eax, dword [esp + eax*4 + 0x74]
mov dword [esp + 4], eax
mov dword [esp], 0x4060c0
call sym._printf
add dword [esp + 0x1d4], 1
mov eax, dword [esp + 0x1d4]
cmp eax, dword [esp + 0x1ec]
jl 0x401a6a
mov dword [esp], 0xa
call sym._putchar
mov dword [esp], str.Hit_or_Stay_
call sym._printf
lea eax, [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], 0x4060d2
call sym._scanf
jmp 0x40163f
nop
jmp 0x401ad5
nop
jmp 0x401ad5
nop
mov eax, dword [esp + 0x1e4]
mov dword [esp + 4], eax
mov dword [esp], str.Player_total_is__d_n
call sym._printf
cmp dword [esp + 0x1e4], 0x15
jle 0x401b18
mov dword [esp], str.Sorry__the_dealer_wins
call sym._puts
mov dword [esp], str.pause
call sym._system
mov eax, 0
jmp 0x401de7
mov dword [esp + 0x1ec], 2
mov dword [esp], str.The_dealer_has
call sym._printf
mov dword [esp + 0x1d0], 0
jmp 0x401b62
mov eax, dword [esp + 0x1d0]
mov eax, dword [esp + eax*4 + 0x164]
mov dword [esp + 4], eax
mov dword [esp], 0x4060c0
call sym._printf
add dword [esp + 0x1d0], 1
mov eax, dword [esp + 0x1d0]
cmp eax, dword [esp + 0x1ec]
jl 0x401b3c
mov dword [esp], 0xa
call sym._putchar
jmp 0x401d06
mov dword [esp + 0x1e8], 0
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x190], edx
call sym._rand
mov edx, eax
mov eax, dword [esp + 0x1c0]
lea ecx, [eax + 1]
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x18c], edx
mov edx, dword [esp + 0x190]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x18c]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
test eax, eax
je 0x401b8e
mov edx, dword [esp + 0x190]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x18c]
add eax, edx
mov edx, dword [eax*4 + 0x405020]
mov eax, dword [esp + 0x1ec]
mov dword [esp + eax*4 + 0x164], edx
mov edx, dword [esp + 0x190]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x18c]
add eax, edx
mov eax, dword [eax*4 + 0x405020]
mov dword [esp + 4], eax
mov dword [esp], str.The_dealer_drew_a__d__n
call sym._printf
mov edx, dword [esp + 0x190]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
mov edx, dword [esp + 0x18c]
add eax, edx
mov dword [eax*4 + 0x405020], 0
add dword [esp + 0x1ec], 1
nop
mov dword [esp + 0x1cc], 0
jmp 0x401ca1
mov eax, dword [esp + 0x1cc]
mov eax, dword [esp + eax*4 + 0x164]
add dword [esp + 0x1e8], eax
add dword [esp + 0x1cc], 1
cmp dword [esp + 0x1cc], 9
jle 0x401c84
mov dword [esp], str.The_dealer_has
call sym._printf
mov dword [esp + 0x1c8], 0
jmp 0x401cea
mov eax, dword [esp + 0x1c8]
mov eax, dword [esp + eax*4 + 0x164]
mov dword [esp + 4], eax
mov dword [esp], 0x4060c0
call sym._printf
add dword [esp + 0x1c8], 1
mov eax, dword [esp + 0x1c8]
cmp eax, dword [esp + 0x1ec]
jl 0x401cc4
mov dword [esp], 0xa
call sym._putchar
cmp dword [esp + 0x1e8], 0x10
jle 0x401b83
mov eax, dword [esp + 0x1e8]
mov dword [esp + 4], eax
mov dword [esp], str.The_dealers_total_is:__d__n
call sym._printf
mov eax, 0x15
sub eax, dword [esp + 0x1e8]
mov edx, eax
mov eax, 0x15
sub eax, dword [esp + 0x1e4]
cmp edx, eax
jge 0x401d68
mov dword [esp], str.Sorry__the_dealer_wins
call sym._puts
mov dword [esp], str.pause
call sym._system
mov eax, 0
jmp 0x401de7
mov eax, 0x15
sub eax, dword [esp + 0x1e8]
mov edx, eax
mov eax, 0x15
sub eax, dword [esp + 0x1e4]
cmp edx, eax
jle 0x401da5
mov dword [esp], str.You_win__Yippee
call sym._puts
mov dword [esp], str.pause
call sym._system
mov eax, 0
jmp 0x401de7
mov eax, 0x15
sub eax, dword [esp + 0x1e8]
mov edx, eax
mov eax, 0x15
sub eax, dword [esp + 0x1e4]
cmp edx, eax
jne 0x401de2
mov dword [esp], str.Its_a_draw...
call sym._puts
mov dword [esp], str.pause
call sym._system
mov eax, 0
jmp 0x401de7
mov eax, 1
mov edi, dword [ebp - 4]
leave
ret