Function at 0x432060
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x64ee30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
cmp byte [ebp + 0x38], 0
jne 0x432986
fld dword [ebp + 0x24]
mov edx, dword [ebp]
fstp dword [ebp + 0x40]
mov byte [ebp + 0x50], 1
fld dword [ebp + 0x28]
mov byte [esp + 0x13], 0
fstp dword [ebp + 0x44]
mov edi, dword [edx + 0x7f8]
cmp edi, 0x46
je 0x4320b6
cmp edi, 0x3c
jne 0x4320c6
mov eax, ebp
call fcn.00432f80
test al, al
je 0x4320c6
mov byte [esp + 0x13], 1
mov esi, dword [ebp + 0x58]
cmp esi, 0x11
je 0x432830
cmp esi, 0x13
je 0x432830
cmp esi, 0x19
jne 0x432153
fld dword [ebp + 0x28]
mov ecx, dword [ebp + 0x20]
fld qword [0x679318]
sub esp, 8
fadd st(1), st(0)
add ecx, 1
fxch st(1)
lea eax, [esi + 0x2d]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fadd dword [ebp + 0x24]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00453c80
xor eax, eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x3c], eax
push 0x5c
lea eax, [ebp + 0x60]
call fcn.00405300
mov eax, dword [ebp]
mov ecx, dword [eax + 0x82c]
add esp, 4
mov dword [ecx + 0x320], 1
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x1a
jne 0x4321cb
fld dword [ebp + 0x28]
mov ecx, dword [ebp + 0x20]
fld qword [0x679318]
sub esp, 8
fadd st(1), st(0)
add ecx, 1
fxch st(1)
lea eax, [esi + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fadd dword [ebp + 0x24]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00453c80
xor eax, eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x3c], eax
push 0x5c
lea eax, [ebp + 0x60]
call fcn.00405300
mov edx, dword [ebp]
mov eax, dword [edx + 0x82c]
add esp, 4
mov dword [eax + 0x324], 1
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x1b
jne 0x432243
fld dword [ebp + 0x28]
mov ecx, dword [ebp + 0x20]
fld qword [0x679318]
sub esp, 8
fadd st(1), st(0)
add ecx, 1
fxch st(1)
lea eax, [esi + 0x2b]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fadd dword [ebp + 0x24]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00453c80
xor eax, eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x3c], eax
push 0x5c
lea eax, [ebp + 0x60]
call fcn.00405300
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x82c]
add esp, 4
mov dword [edx + 0x338], 1
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x17
je 0x432751
cmp esi, 0x18
je 0x432751
mov eax, ebp
call fcn.00432f80
test al, al
je 0x43257e
cmp byte [esp + 0x13], 0
mov ebx, 0xf
je 0x4322c3
cmp esi, 0x14
jne 0x43229b
mov ecx, dword [0x6a7708]
mov eax, dword [edx]
push ecx
mov ecx, edx
mov edx, dword [eax + 0xd8]
call edx
push 1
push 3
mov edi, ebp
call fcn.00431f30
mov dword [ebp + 0x3c], ebx
jmp 0x432402
cmp esi, 0x12
jne 0x432402
mov esi, 0x1f
mov eax, edx
call fcn.00453630
push 5
push 2
mov edi, ebp
call fcn.00431f30
mov dword [ebp + 0x3c], ebx
jmp 0x432402
mov ecx, edx
call fcn.004538f0
test al, al
je 0x4322fc
cmp esi, 8
je 0x4323c2
cmp esi, 0x12
jne 0x432402
mov esi, 0x1f
mov eax, edx
call fcn.00453630
push 2
push 2
mov edi, ebp
call fcn.00431f30
jmp 0x432402
test edi, edi
jne 0x43231c
mov eax, dword [ebp + 4]
cmp dword [eax + 0x5550], 0x3c
jne 0x43231c
push 3
push 3
mov edi, ebp
call fcn.00431f30
jmp 0x432402
cmp esi, 0x16
jne 0x432331
push 5
push 3
mov edi, ebp
call fcn.00431f30
jmp 0x432402
mov eax, edx
call fcn.00454190
test al, al
je 0x432360
mov ecx, dword [ebp + 4]
cmp dword [ecx + 0x5550], 4
jne 0x432360
mov ecx, dword [0x6a7aa8]
mov eax, dword [edx]
push ecx
mov ecx, edx
mov edx, dword [eax + 0xd8]
call edx
jmp 0x432402
mov eax, edx
call fcn.00454190
test al, al
je 0x432398
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0x5550]
cmp eax, 0x18
je 0x432383
cmp eax, 0x22
je 0x432383
cmp eax, 0x2c
jne 0x432398
mov ecx, dword [0x6a78bc]
mov eax, dword [edx]
push ecx
mov ecx, edx
mov edx, dword [eax + 0xd8]
call edx
jmp 0x432402
cmp esi, 8
jne 0x4323bd
mov ecx, dword [0x6a7708]
mov eax, dword [edx]
push ecx
mov ecx, edx
mov edx, dword [eax + 0xd8]
call edx
push 1
push 3
mov edi, ebp
call fcn.00431f30
jmp 0x432402
cmp esi, 0x12
jne 0x4323db
mov esi, 0x1f
mov eax, edx
call fcn.00453630
push 5
push 2
mov edi, ebp
call fcn.00431f30
jmp 0x432402
mov ecx, dword [0x6a7828]
mov eax, dword [edx]
push ecx
mov ecx, edx
mov edx, dword [eax + 0xd8]
call edx
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [0x6a78bc]
mov eax, dword [eax + 0xd8]
push edx
call eax
jmp 0x7b3c00
cmp esi, 0x10
jne 0x4325d9
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x138]
mov eax, dword [ebp + 0x68]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x138]
mov dword [edx + 0x30], 2
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x138]
mov edx, dword [ebp + 0xd0]
mov dword [ecx + 0x34], edx
fld dword [ebp + 0x28]
call fcn.006397d0
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x3c], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebp
call fcn.00430970
test al, al
je 0x4325f5
mov eax, dword [ebp + 4]
test eax, eax
je 0x4325f5
mov dword [eax + 0x55f4], 0x3e8
xor ebx, ebx
mov eax, ebp
mov dword [ebp + 0x3c], ebx
call fcn.00430990
test al, al
je 0x4326a8
mov esi, dword [ebp + 4]
cmp esi, ebx
je 0x4326a8
mov eax, esi
call fcn.0041be50
test al, al
jne 0x4326a8
mov eax, dword [esi + 0x144]
cmp dword [eax + 0x24], ebx
mov dword [esp + 0x18], ebx
jle 0x432695
mov edi, dword [ebp + 4]
mov ecx, dword [edi + 0x144]
mov edx, dword [ecx + ebx + 0x60]
mov eax, dword [ecx + ebx + 0x5c]
lea esi, [ecx + ebx + 0x28]
call fcn.0041dae0
mov edx, dword [ebp + 4]
mov edi, eax
call fcn.0041b980
mov edx, eax
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x5560]
sub ecx, edi
add edx, ecx
js 0x432679
mov eax, ebp
call fcn.004329a0
cmp edx, eax
jge 0x432679
mov edi, esi
call fcn.00487190
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 4]
mov ecx, dword [edx + 0x144]
add eax, 1
add ebx, 0x50
cmp eax, dword [ecx + 0x24]
mov dword [esp + 0x18], eax
jl 0x432632
mov edx, dword [ebp + 4]
call fcn.0041c170
test al, al
je 0x4326a8
mov dword [ebp + 0x20], 0xc3502
push 0x45
lea eax, [ebp + 0x60]
call fcn.00405300
mov eax, dword [ebp]
add esp, 4
call fcn.00454190
test al, al
je 0x432986
mov eax, dword [ebp + 4]
test eax, eax
je 0x432986
cmp dword [eax + 0x5550], 0xb
jne 0x432986
mov eax, dword [ebp + 0x58]
cmp eax, 2
je 0x4326ee
cmp eax, 1
jne 0x432986
push str._ADVICE_CLICKED_ON_COIN_
lea ecx, [esp + 0x40]
call fcn.00404450
mov dword [esp + 0x64], 3
mov ebp, dword [ebp + 4]
cmp byte [ebp + 0x55aa], 0
jne 0x432735
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x3c]
mov byte [ebp + 0x55aa], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 2
lea ecx, [esp + 0x3c]
call fcn.00404420
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 4]
mov esi, 1
add dword [eax + 0x57ac], esi
fld dword [ebp + 0x28]
fld qword [0x679318]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp]
fadd st(1), st(0)
fxch st(1)
sub esp, 8
add ecx, esi
fstp dword [esp + 0x24]
lea eax, [esi + 0x45]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fadd dword [ebp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.00453c80
mov eax, dword [ebp]
mov edx, dword [eax + 0x82c]
cmp dword [edx + 0x228], 0x3e8
jge 0x432815
push str._ADVICE_FOUND_CHOCOLATE_
lea ecx, [esp + 0x24]
call fcn.00404450
mov dword [esp + 0x64], 2
mov edi, dword [ebp + 4]
lea ecx, [esi + 8]
mov esi, dword [edi + 0x140]
lea edx, [esp + 0x20]
call fcn.00459010
or eax, 0xffffffff
lea ecx, [esp + 0x20]
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x64], eax
call fcn.00404420
mov eax, dword [ebp]
mov ecx, dword [eax + 0x82c]
mov dword [ecx + 0x228], 0x3e9
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x3c], 0xf
jmp 0x43296a
mov eax, edx
add dword [eax + 0x228], esi
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x3c], 0xf
jmp 0x43296a
mov edx, dword [edx + 0x81c]
mov edx, dword [edx]
mov eax, dword [edx + 0x82c]
mov ecx, dword [eax + 0x350]
xor ebx, ebx
xor esi, esi
cmp ecx, ebx
jle 0x4328b8
add eax, 0x35c
cmp dword [eax], ebx
jne 0x432858
add esi, 1
add eax, 0x58
sub ecx, 1
jne 0x432851
cmp esi, 0x20
jl 0x4328b8
push str._DIALOG_ZEN_GARDEN_FULL_
lea ecx, [esp + 0x24]
call fcn.00404450
mov dword [esp + 0x64], ebx
mov edi, dword [ebp + 4]
mov esi, dword [edi + 0x140]
mov ecx, 7
lea edx, [esp + 0x20]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x64], eax
cmp dword [esp + 0x38], 0x10
jb 0x432964
mov eax, dword [esp + 0x24]
push eax
call fcn.0061c19a
add esp, 4
jmp 0x432964
mov eax, dword [ebp + 4]
mov ebx, 1
add dword [eax + 0x57a8], ebx
push str._ADVICE_FOUND_PLANT_
lea ecx, [esp + 0x24]
call fcn.00404450
mov dword [esp + 0x64], ebx
mov edi, dword [ebp + 4]
mov esi, dword [edi + 0x140]
lea ecx, [ebx + 6]
lea edx, [esp + 0x20]
call fcn.00459010
or eax, 0xffffffff
mov dword [edi + 0x55ec], eax
mov dword [esp + 0x64], eax
cmp dword [esp + 0x38], 0x10
jb 0x43290e
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0061c19a
add esp, 4
fld dword [ebp + 0x28]
mov edx, dword [ebp + 0x20]
fld qword [0x679318]
mov eax, dword [ebp]
mov ecx, dword [eax + 0x820]
fadd st(1), st(0)
mov esi, dword [ecx]
fxch st(1)
push 0x46
fstp dword [esp + 0x20]
add edx, ebx
fld dword [esp + 0x20]
push edx
sub esp, 8
fstp dword [esp + 4]
fadd dword [ebp + 0x24]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.00518a70
mov eax, dword [ebp]
mov ecx, dword [eax + 0x81c]
lea edx, [ebp + 0x70]
push ecx
call fcn.0051d8c0
xor ebx, ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x3c], ebx
cmp byte [esp + 0x13], 0
je 0x432986
push 0x5c
lea eax, [ebp + 0x60]
call fcn.00405300
mov ecx, dword [ebp + 4]
add esp, 4
call fcn.0040c3e0
mov ecx, dword [esp + 0x5c]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret