Function at 0x4251e0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x4b1240]
xor eax, ebp
mov dword [ebp - 4], eax
fld dword [0x4991f4]
push ebx
fstp dword [ebp - 0x21c]
xor ebx, ebx
fld dword [0x4991f0]
push esi
fst dword [ebp - 0x218]
push edi
fldz
fst dword [ebp - 0x214]
fxch st(1)
fst dword [ebp - 0x210]
fld dword [0x4991ec]
fstp dword [ebp - 0x20c]
fstp dword [ebp - 0x208]
cmp byte [0x4b557f], bl
jne 0x425d4c
mov eax, dword [0x4a8558]
mov byte [0x4b557f], 1
cmp eax, dword [0x4a855c]
jge 0x42525f
inc dword [0x4a8558]
fstp st(0)
jmp 0x425cf8
mov ecx, dword [0x4c579c]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c579c]
mov dword [edx + 0xa4], ebx
mov eax, dword [0x4c579c]
fst dword [eax + 0x88]
mov edx, dword [0x4c579c]
mov ecx, dword [ebp - 0x21c]
fld dword [0x481ff0]
mov dword [edx + 0xc0], ecx
fst dword [ebp - 0x224]
mov ecx, dword [0x4c579c]
fst dword [ebp - 0x220]
mov eax, dword [ebp - 0x218]
fxch st(1)
mov dword [ecx + 0xc4], eax
mov eax, dword [0x4c579c]
mov edx, dword [ebp - 0x224]
mov dword [eax + 0xe0], edx
mov edx, dword [0x4c579c]
mov ecx, dword [ebp - 0x220]
mov dword [edx + 0xe4], ecx
mov eax, dword [0x4c57a0]
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4c57a0]
mov dword [ecx + 0xa4], ebx
mov edx, dword [0x4c57a0]
fst dword [edx + 0x88]
mov ecx, dword [0x4c57a0]
mov eax, dword [ebp - 0x214]
fxch st(1)
mov dword [ecx + 0xc0], eax
fst dword [ebp - 0x224]
mov eax, dword [0x4c57a0]
fst dword [ebp - 0x220]
mov edx, dword [ebp - 0x210]
fxch st(1)
mov ecx, dword [ebp - 0x224]
mov dword [eax + 0xc4], edx
mov edx, dword [0x4c57a0]
mov eax, dword [ebp - 0x220]
mov dword [edx + 0xe0], ecx
mov ecx, dword [0x4c57a0]
mov dword [ecx + 0xe4], eax
mov edx, dword [0x4c57a4]
mov byte [edx + 0xf4], bl
mov eax, dword [0x4c57a4]
mov edx, dword [ebp - 0x20c]
mov dword [eax + 0xa4], ebx
mov ecx, dword [0x4c57a4]
fst dword [ecx + 0x88]
mov eax, dword [0x4c57a4]
mov ecx, dword [ebp - 0x208]
fxch st(1)
mov dword [eax + 0xc0], edx
fst dword [ebp - 0x224]
mov edx, dword [0x4c57a4]
fst dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
fxch st(1)
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x4c57a4]
mov edx, dword [ebp - 0x220]
mov dword [ecx + 0xe0], eax
mov eax, dword [0x4c57a4]
mov dword [eax + 0xe4], edx
mov ecx, dword [0x4c5294]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c5294]
mov dword [edx + 0xa4], ebx
mov eax, dword [0x4c5294]
fst dword [eax + 0x88]
mov edx, dword [0x4c5294]
fstp dword [ebp - 0x224]
mov ecx, dword [ebp - 0x224]
fld dword [0x4991e8]
mov dword [edx + 0xc0], ecx
mov ecx, dword [0x4c5294]
fstp dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
mov dword [ecx + 0xc4], eax
mov eax, dword [0x4c5294]
fst dword [ebp - 0x224]
mov edx, dword [ebp - 0x224]
fstp dword [ebp - 0x220]
mov ecx, dword [ebp - 0x220]
mov dword [eax + 0xe0], edx
mov edx, dword [0x4c5294]
mov dword [edx + 0xe4], ecx
mov esi, dword [0x4b2c68]
mov eax, dword [0x4b559c]
lea ecx, [esi + 0x2710]
cmp ecx, eax
jg 0x4254d3
sub eax, esi
lea ecx, [eax - 0x2710]
mov eax, ecx
cdq
mov edi, 0x2710
idiv edi
test edx, edx
je 0x4254c9
mov eax, ecx
cdq
mov edi, 0x2328
idiv edi
test edx, edx
je 0x4254c9
mov eax, ecx
cdq
mov edi, 0x1770
idiv edi
test edx, edx
je 0x4254c9
mov eax, ecx
cdq
mov edi, 0x1388
idiv edi
test edx, edx
je 0x4254c9
mov eax, ecx
cdq
mov edi, 0xbb8
idiv edi
test edx, edx
je 0x4254c9
mov eax, ecx
cdq
mov ecx, 0x7d0
idiv ecx
test edx, edx
jne 0x4254d3
mov esi, 5
jmp 0x42571b
mov eax, dword [0x4b559c]
lea edx, [esi + 0x2328]
cmp edx, eax
jg 0x425548
sub eax, esi
lea ecx, [eax - 0x2328]
mov eax, ecx
cdq
mov edi, 0x2710
idiv edi
test edx, edx
je 0x42553e
mov eax, ecx
cdq
mov edi, 0x2328
idiv edi
test edx, edx
je 0x42553e
mov eax, ecx
cdq
mov edi, 0x1770
idiv edi
test edx, edx
je 0x42553e
mov eax, ecx
cdq
mov edi, 0x1388
idiv edi
test edx, edx
je 0x42553e
mov eax, ecx
cdq
mov edi, 0xbb8
idiv edi
test edx, edx
je 0x42553e
mov eax, ecx
cdq
mov ecx, 0x7d0
idiv ecx
test edx, edx
jne 0x425548
mov esi, 4
jmp 0x42571b
mov eax, dword [0x4b559c]
lea edx, [esi + 0x1770]
cmp edx, eax
jg 0x4255bf
sub eax, esi
lea ecx, [eax - 0x1770]
mov eax, ecx
cdq
mov edi, 0x2710
idiv edi
test edx, edx
je 0x4255b3
mov eax, ecx
cdq
mov edi, 0x2328
idiv edi
test edx, edx
je 0x4255b3
mov eax, ecx
cdq
mov edi, 0x1770
idiv edi
test edx, edx
je 0x4255b3
mov eax, ecx
cdq
mov edi, 0x1388
idiv edi
test edx, edx
je 0x4255b3
mov eax, ecx
cdq
mov edi, 0xbb8
idiv edi
test edx, edx
je 0x4255b3
mov eax, ecx
cdq
mov ecx, 0x7d0
idiv ecx
test edx, edx
jne 0x4255bf
mov edi, 3
mov esi, edi
jmp 0x425720
mov eax, dword [0x4b559c]
lea edx, [esi + 0x1388]
cmp edx, eax
jg 0x425634
sub eax, esi
lea ecx, [eax - 0x1388]
mov eax, ecx
cdq
mov edi, 0x2710
idiv edi
test edx, edx
je 0x42562a
mov eax, ecx
cdq
mov edi, 0x2328
idiv edi
test edx, edx
je 0x42562a
mov eax, ecx
cdq
mov edi, 0x1770
idiv edi
test edx, edx
je 0x42562a
mov eax, ecx
cdq
mov edi, 0x1388
idiv edi
test edx, edx
je 0x42562a
mov eax, ecx
cdq
mov edi, 0xbb8
idiv edi
test edx, edx
je 0x42562a
mov eax, ecx
cdq
mov ecx, 0x7d0
idiv ecx
test edx, edx
jne 0x425634
mov esi, 2
jmp 0x42571b
mov eax, dword [0x4b559c]
lea edx, [esi + 0xbb8]
cmp edx, eax
jg 0x4256a6
sub eax, esi
lea ecx, [eax - 0xbb8]
mov eax, ecx
cdq
mov edi, 0x2710
idiv edi
test edx, edx
je 0x42569f
mov eax, ecx
cdq
mov edi, 0x2328
idiv edi
test edx, edx
je 0x42569f
mov eax, ecx
cdq
mov edi, 0x1770
idiv edi
test edx, edx
je 0x42569f
mov eax, ecx
cdq
mov edi, 0x1388
idiv edi
test edx, edx
je 0x42569f
mov eax, ecx
cdq
mov edi, 0xbb8
idiv edi
test edx, edx
je 0x42569f
mov eax, ecx
cdq
mov ecx, 0x7d0
idiv ecx
test edx, edx
jne 0x4256a6
mov esi, 1
jmp 0x42571b
mov eax, dword [0x4b559c]
lea edx, [esi + 0x7d0]
cmp edx, eax
jg 0x425b60
sub eax, esi
lea ecx, [eax - 0x7d0]
mov eax, ecx
cdq
mov edi, 0x2710
idiv edi
test edx, edx
je 0x425719
mov eax, ecx
cdq
mov edi, 0x2328
idiv edi
test edx, edx
je 0x425719
mov eax, ecx
cdq
mov edi, 0x1770
idiv edi
test edx, edx
je 0x425719
mov eax, ecx
cdq
mov edi, 0x1388
idiv edi
test edx, edx
je 0x425719
mov eax, ecx
cdq
mov edi, 0xbb8
idiv edi
test edx, edx
je 0x425719
mov eax, ecx
cdq
mov ecx, 0x7d0
idiv ecx
test edx, edx
jne 0x425b60
xor esi, esi
mov edi, 3
call fcn.00463f1c
cmp esi, 5
ja case.default.0x42572a
jmp dword [esi*4 + 0x425d60]
mov edx, dword [0x4c5294]
mov dword [0x4a8568], 0x2710
mov byte [edx + 0xf4], 1
mov ecx, dword [0x4c5294]
mov eax, 1
mov dword [ecx + 0xa4], eax
mov dword [0x4b55a4], eax
mov dword [0x4b55a8], eax
mov esi, dword [0x4b2c68]
mov eax, dword [0x4b55a4]
sub eax, ebx
je 0x425c63
dec eax
je 0x425b7b
sub eax, 2
jne 0x425d05
lea esi, [eax + 0xf]
cmp byte [0x4b5548], bl
jne 0x42583e
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b5548], 1
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_1
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004018e0
fld dword [0x4991e4]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x4991e0]
mov dword [ebp - 0x220], esp
fstp dword [esp + 0x1c]
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_1
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401d70
fld dword [0x497ed8]
sub esp, 0x24
mov ecx, esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
mov dword [ebp - 0x220], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_1
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401e50
cmp byte [0x4b5549], bl
jne 0x4258f3
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b5549], 1
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004018e0
fld dword [0x4991e4]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x4991dc]
mov dword [ebp - 0x220], esp
fstp dword [esp + 0x1c]
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401d70
fld dword [0x497ed8]
sub esp, 0x24
mov ecx, esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
mov dword [ebp - 0x220], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401e50
cmp byte [0x4b554a], bl
jne 0x4259a8
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b554a], 1
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_3
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004018e0
fld dword [0x4991e4]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x4991d8]
mov dword [ebp - 0x220], esp
fstp dword [esp + 0x1c]
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_3
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401d70
fld dword [0x497ed8]
sub esp, 0x24
mov ecx, esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
mov dword [ebp - 0x220], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_3
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401e50
mov ecx, dword [0x4b5978]
push 0x4a0
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4b5978]
push ebx
push 0xbb8
push 0x4a0
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x425cff
mov edx, dword [0x4c579c]
mov dword [0x4a8568], 0xbb8
mov byte [edx + 0xf4], 1
mov ecx, dword [0x4c579c]
mov eax, 2
mov dword [ecx + 0xa4], eax
mov edx, dword [0x4c57a0]
mov byte [edx + 0xf4], 1
mov ecx, dword [0x4c57a0]
mov dword [ecx + 0xa4], eax
mov edx, dword [0x4c57a4]
mov byte [edx + 0xf4], 1
mov ecx, dword [0x4c57a4]
mov dword [ecx + 0xa4], eax
mov dword [0x4b55a4], edi
mov dword [0x4b55a8], edi
jmp case.default.0x42572a
mov edx, dword [0x4c579c]
mov dword [0x4a8568], 0x7d0
mov byte [edx + 0xf4], 1
mov ecx, dword [0x4c579c]
mov eax, 1
mov dword [ecx + 0xa4], eax
mov edx, dword [0x4c57a0]
mov byte [edx + 0xf4], al
mov ecx, dword [0x4c57a0]
mov dword [ecx + 0xa4], eax
mov edx, dword [0x4c57a4]
mov byte [edx + 0xf4], al
jmp 0x425a25
mov edx, dword [0x4c5294]
mov dword [0x4a8568], 0x1388
mov byte [edx + 0xf4], 1
mov eax, dword [0x4c5294]
mov dword [eax + 0xa4], ebx
mov eax, 1
jmp 0x425759
mov ecx, dword [0x4c579c]
mov dword [0x4a8568], 0x3e8
mov byte [ecx + 0xf4], 1
mov edx, dword [0x4c579c]
mov dword [edx + 0xa4], ebx
mov eax, dword [0x4c57a0]
mov byte [eax + 0xf4], 1
mov ecx, dword [0x4c57a0]
mov dword [ecx + 0xa4], ebx
mov edx, dword [0x4c57a4]
mov byte [edx + 0xf4], 1
mov eax, dword [0x4c57a4]
mov dword [eax + 0xa4], ebx
mov dword [0x4b55a4], edi
mov dword [0x4b55a8], edi
jmp case.default.0x42572a
mov dword [0x4a8568], 0x3e8
mov eax, 0x4c579c
nop
mov ecx, dword [eax]
mov byte [ecx + 0xf4], 1
mov ecx, dword [eax]
add eax, 8
mov dword [ecx + 0xa4], ebx
cmp eax, 0x4c57a8
jl 0x425b30
mov dword [0x4b55a4], edi
mov dword [0x4b55a8], 2
jmp case.default.0x42572a
mov dword [0x4a855c], 1
mov dword [0x4a8558], ebx
mov dword [0x4b55a4], ebx
jmp 0x425769
cmp byte [0x4b5549], bl
jne 0x425c35
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b5549], 1
push 0xc
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004018e0
fld dword [0x4991d4]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x4991d0]
mov dword [ebp - 0x220], esp
fstp dword [esp + 0x1c]
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401d70
fld dword [0x4991cc]
sub esp, 0x24
mov ecx, esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
mov dword [ebp - 0x220], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.00401e50
mov eax, dword [0x4b5978]
push 0x4a0
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x4b5978]
push ebx
push 0xbb8
push 0x4a0
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x425cff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b5548], bl
push 0xc
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_1
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004019c0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b5549], bl
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_2
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004019c0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x220], esp
mov byte [0x4b554a], bl
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.girl_bonus_3
mov byte [ecx], bl
call fcn.00414ba0
mov ecx, dword [0x4b290c]
call fcn.004019c0
mov byte [0x4a8376], 1
mov esi, dword [0x4b2c68]
mov edx, dword [0x4b559c]
mov eax, dword [0x4a855c]
mov ecx, dword [0x4a8558]
push edx
push esi
push eax
push ecx
lea edx, [ebp - 0x204]
push str.g_nTryBonus:__d__d___g_nGameWin:__d__d__n
push edx
call fcn.00409550
add esp, 0x18
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
fstp st(0)
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00463931
mov esp, ebp
pop ebp
ret