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
jmp 0x797720
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
jmp 0x797760
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