Function at 0x40fd30
Capabilities:
Packed with generic packer

Disassembly:
push 0xffffffffffffffff
push 0x64f785
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
test ecx, ecx
push ebx
mov ebx, dword [esp + 0xa4]
push ebp
mov ebp, dword [esp + 0xa4]
push esi
mov esi, dword [esp + 0xb0]
push edi
jge 0x40fdc0
mov eax, ebp
call fcn.0040cd80
mov ebp, dword [ebp + 0x8c]
cmp byte [ebp + 0x8c5], 0
jne 0x410f52
fldz
mov ecx, dword [0x6a9f00]
mov ebp, dword [ebp + 0x784]
fst dword [esp + 0x1c]
fcomp dword [ecx + 0x1d8]
fnstsw ax
test ah, 0x44
jnp 0x40fdb7
fld dword [ecx + 0x1d8]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x20]
add esp, 4
fld dword [esp + 0x1c]
jmp 0x410f42
mov eax, dword [ebp + 0x8c]
call fcn.00811100
test al, al
je 0x40fde3
mov eax, dword [ebp + 0x160]
push ecx
push esi
push ebx
push eax
call fcn.0042a210
jmp 0x410f52
mov eax, ebp
call fcn.0040cd10
mov edi, eax
push ebx
mov edx, esi
mov ecx, ebp
mov dword [esp + 0x24], edi
call fcn.0041c2d0
push esi
mov dword [esp + 0x20], eax
push ebx
mov eax, edi
mov esi, ebp
call fcn.0041c320
mov ebx, dword [esp + 0x1c]
cmp ebx, 8
mov esi, eax
mov dword [esp + 0x18], esi
ja 0x410ef3
cmp esi, 5
ja 0x410ef3
push edi
push ebx
push ebp
call fcn.0040e020
test eax, eax
je 0x410754
cmp eax, 2
jne 0x40fe8a
push str._ADVICE_GRAVEBUSTERS_ON_GRAVES_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 0
cmp byte [ebp + 0x55ad], 0
jne 0x40fe81
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x24]
mov byte [ebp + 0x55ad], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 5
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x10
jne 0x40fee6
cmp eax, 3
jne 0x40ff9a
push str._ADVICE_LILYPAD_ON_WATER_
lea ecx, [esp + 0x28]
call fcn.00404450
mov eax, 1
mov dword [esp + 0xa4], eax
cmp byte [ebp + 0x55ae], 0
jne 0x40fedd
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 9]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55ae], al
call fcn.00459010
mov dword [ebp + 0x55ec], 6
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x13
jne 0x40ff42
cmp eax, 3
jne 0x40ff9a
push str._ADVICE_TANGLEKELP_ON_WATER_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 2
cmp byte [ebp + 0x55af], 0
jne 0x40ff39
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0xc]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55af], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 7
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x18
jne 0x40ff9a
cmp eax, 3
jne 0x40ff9a
push str._ADVICE_SEASHROOM_ON_WATER_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 3
cmp byte [ebp + 0x55b0], 0
jne 0x40ff91
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x11]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55b0], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 8
lea ecx, [esp + 0x24]
jmp 0x410709
cmp eax, 4
jne 0x40ffef
push str._ADVICE_POTATO_MINE_ON_LILY_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 4
cmp byte [ebp + 0x55b1], 0
jne 0x40ffe6
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x24]
mov byte [ebp + 0x55b1], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 9
lea ecx, [esp + 0x24]
jmp 0x410709
cmp eax, 7
jne 0x410044
push str._ADVICE_NOT_PASSED_LINE_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 5
cmp byte [ebp + 0x55bf], 0
jne 0x41003b
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x24]
mov byte [ebp + 0x55bf], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x17
lea ecx, [esp + 0x24]
jmp 0x410709
cmp eax, 8
jne 0x4102e7
cmp edi, 0x28
jne 0x4100a0
push str._ADVICE_ONLY_ON_REPEATERS_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 6
cmp byte [ebp + 0x55c0], 0
jne 0x410097
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x21]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c0], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x18
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x2c
jne 0x4100f1
push str._ADVICE_ONLY_ON_MELONPULT_
lea ecx, [esp + 0x28]
call fcn.00404450
mov ecx, 7
mov dword [esp + 0xa4], ecx
cmp byte [ebp + 0x55c1], 0
jne 0x4100e8
mov esi, dword [ebp + 0x140]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c1], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x19
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x29
jne 0x410144
push str._ADVICE_ONLY_ON_SUNFLOWER_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 8
cmp byte [ebp + 0x55c2], 0
jne 0x41013b
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x22]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c2], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x1a
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x2e
jne 0x410197
push str._ADVICE_ONLY_ON_SPIKEWEED_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 9
cmp byte [ebp + 0x55c3], 0
jne 0x41018e
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x27]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c3], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x1b
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x2f
jne 0x4101ea
push str._ADVICE_ONLY_ON_KERNELPULT_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 0xa
cmp byte [ebp + 0x55c4], 0
jne 0x4101e1
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x28]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c4], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x1c
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x2d
jne 0x41023d
push str._ADVICE_ONLY_ON_MAGNETSHROOM_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 0xb
cmp byte [ebp + 0x55c5], 0
jne 0x410234
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x26]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c5], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x1d
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x2a
jne 0x410290
push str._ADVICE_ONLY_ON_FUMESHROOM_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 0xc
cmp byte [ebp + 0x55c6], 0
jne 0x410287
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x23]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c6], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x1e
lea ecx, [esp + 0x24]
jmp 0x410709
cmp edi, 0x2b
jne 0x410719
push str._ADVICE_ONLY_ON_LILYPAD_
lea ecx, [esp + 0x28]
call fcn.00404450
mov dword [esp + 0xa4], 0xd
cmp byte [ebp + 0x55c7], 0
jne 0x4102de
mov esi, dword [ebp + 0x140]
lea ecx, [edi - 0x24]
lea edx, [esp + 0x24]
mov byte [ebp + 0x55c7], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x1f
lea ecx, [esp + 0x24]
jmp 0x410709
cmp eax, 6
jne 0x410398
mov ecx, dword [ebp + 0x160]
mov eax, esi
mov edx, ebx
call fcn.004249f0
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.00467c00
add esp, 0xc
push str._ADVICE_WRONG_ART_TYPE_
lea ecx, [esp + 0x64]
mov dword [esp + 0xa8], 0xe
call fcn.00404450
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, str.SEED
lea edx, [esp + 0x68]
mov byte [esp + 0xac], 0xf
call fcn.00513660
add esp, 8
lea ecx, [esp + 0x60]
mov byte [esp + 0xa4], 0x11
call fcn.00404420
cmp byte [ebp + 0x55b2], 0
jne 0x41038a
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x24]
mov byte [ebp + 0x55b2], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xa
lea ecx, [esp + 0x24]
call fcn.00404420
jmp 0x410705
cmp eax, 5
jne 0x410459
mov eax, dword [ebp + 0x8c]
call fcn.00454190
test al, al
je 0x410409
cmp dword [ebp + 0x5550], 0x29
jne 0x410409
push str._ADVICE_PLANT_NEED_POT1_
lea ecx, [esp + 0x48]
call fcn.00404450
mov dword [esp + 0xa4], 0x12
cmp byte [ebp + 0x55b3], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b3], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xb
jmp 0x410705
push str._ADVICE_PLANT_NEED_POT2_
lea ecx, [esp + 0x48]
call fcn.00404450
mov dword [esp + 0xa4], 0x13
cmp byte [ebp + 0x55b3], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b3], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xb
jmp 0x410705
cmp eax, 9
jne 0x4104ae
push str._ADVICE_PLANT_NOT_ON_GRAVE_
lea ecx, [esp + 0x48]
call fcn.00404450
mov dword [esp + 0xa4], 0x14
cmp byte [ebp + 0x55b4], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b4], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xc
jmp 0x410705
cmp eax, 0xa
jne 0x410562
mov ecx, esi
mov eax, ebx
mov edx, ebp
call fcn.0040ce00
test al, al
lea ecx, [esp + 0x44]
je 0x410516
push str._ADVICE_CANT_PLANT_THERE_
call fcn.00404450
mov dword [esp + 0xa4], 0x15
cmp byte [ebp + 0x55b6], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b6], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xe
jmp 0x410705
push str._ADVICE_PLANT_NOT_ON_CRATER_
call fcn.00404450
mov dword [esp + 0xa4], 0x16
cmp byte [ebp + 0x55b5], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b5], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xd
jmp 0x410705
cmp eax, 0xb
jne 0x41066b
mov eax, dword [ebp + 0x8c]
cmp dword [eax + 0x7f8], 0x2b
jne 0x4105cc
mov ecx, dword [eax + 0x81c]
cmp dword [ecx + 8], 3
jne 0x4105cc
push str._ZEN_ONLY_AQUATIC_PLANTS_
lea ecx, [esp + 0x48]
call fcn.00404450
mov dword [esp + 0xa4], 0x17
mov esi, dword [ebp + 0x140]
mov ecx, 9
lea edx, [esp + 0x44]
call fcn.00459010
or eax, 0xffffffff
mov dword [ebp + 0x55ec], eax
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0x44]
jmp 0x410714
cmp edi, 4
lea ecx, [esp + 0x44]
jne 0x41061f
push str._ADVICE_CANT_PLANT_THERE_
call fcn.00404450
mov dword [esp + 0xa4], 0x18
cmp byte [ebp + 0x55b6], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
lea ecx, [edi + 3]
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b6], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xe
jmp 0x410705
push str._ADVICE_PLANT_NOT_ON_WATER_
call fcn.00404450
mov dword [esp + 0xa4], 0x19
cmp byte [ebp + 0x55b7], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b7], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0xf
jmp 0x410705
cmp eax, 0xc
jne 0x4106b9
push str._ADVICE_PLANTING_NEEDS_GROUND_
lea ecx, [esp + 0x48]
call fcn.00404450
mov dword [esp + 0xa4], 0x1a
cmp byte [ebp + 0x55b8], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55b8], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x10
jmp 0x410705
cmp eax, 0xd
jne 0x410719
push str._ADVICE_PLANTING_NEED_SLEEPING_
lea ecx, [esp + 0x48]
call fcn.00404450
mov dword [esp + 0xa4], 0x1b
cmp byte [ebp + 0x55e5], 0
jne 0x410705
mov esi, dword [ebp + 0x140]
mov ecx, 7
lea edx, [esp + 0x44]
mov byte [ebp + 0x55e5], 1
call fcn.00459010
mov dword [ebp + 0x55ec], 0x3d
lea ecx, [esp + 0x44]
mov dword [esp + 0xa4], 0xffffffff
call fcn.00404420
mov edx, dword [ebp + 0x138]
cmp dword [edx + 0x30], 3
je 0x410738
mov ecx, dword [ebp + 0x8c]
call fcn.00453890
test al, al
je 0x410f52
mov eax, ebp
call fcn.0040cd80
mov eax, dword [ebp + 0x8c]
mov esi, 9
call fcn.00453630
jmp 0x410f52
mov eax, 0x3d
mov esi, ebp
call fcn.0040cab0
mov eax, 0xe
call fcn.0040cab0
mov eax, 0x10
call fcn.0040cab0
mov eax, 0xf
call fcn.0040cab0
mov eax, 0xd
call fcn.0040cab0
mov eax, 0xc
call fcn.0040cab0
mov eax, 0xb
call fcn.0040cab0
mov eax, 0xa
call fcn.0040cab0
mov eax, 0x1f
call fcn.0040cab0
mov eax, 0x1d
call fcn.0040cab0
mov eax, 0x1e
call fcn.0040cab0
mov eax, 0x1c
call fcn.0040cab0
mov eax, 0x1a
call fcn.0040cab0
mov eax, 0x1b
call fcn.0040cab0
mov eax, 0x19
call fcn.0040cab0
mov eax, 0x18
call fcn.0040cab0
mov eax, 0x17
call fcn.0040cab0
mov eax, 5
call fcn.0040cab0
mov eax, 6
call fcn.0040cab0
mov eax, 7
call fcn.0040cab0
mov eax, 8
call fcn.0040cab0
mov eax, 9
call fcn.0040cab0
mov eax, 0x3f
call fcn.0040cab0
mov eax, dword [ebp + 0x8c]
cmp byte [eax + 0x814], 0
jne 0x41087e
mov esi, dword [ebp + 0x138]
cmp dword [esi + 0x30], 1
jne 0x41087e
mov eax, ebp
call fcn.0041be50
test al, al
jne 0x41087e
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
mov edi, ebp
call fcn.0041dae0
mov ebx, eax
call fcn.0041ba60
test al, al
je 0x410f52
mov ecx, dword [ebp + 0x8c]
call fcn.00453840
test al, al
je 0x4108a4
mov eax, dword [ebp + 0x15c]
call fcn.0043c1e0
test al, al
jne 0x4108a4
mov edi, dword [esp + 0x1c]
xor esi, esi
jmp 0x4108bd
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
push ecx
push edi
lea ebx, [esp + 0x2c]
mov edx, ebp
call fcn.0040d2a0
mov esi, dword [esp + 0x30]
test esi, esi
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x17], 0
mov dword [esp + 0x40], 0
je 0x410903
push ebx
mov ecx, esi
call fcn.00463470
test al, al
je 0x410903
cmp ebx, 0x2a
jne 0x4108fd
cmp byte [esi + 0x143], 0
jne 0x4108f3
mov byte [esp + 0x17], 1
jmp 0x4108fd
mov edx, dword [esi + 0x130]
mov dword [esp + 0x40], edx
push esi
call fcn.004679b0
jmp 0x843d50
mov eax, ebp
call fcn.0040cd80
mov ebp, dword [ebp + 0x8c]
cmp byte [ebp + 0x8c5], 0
jne 0x410f52
fldz
mov ecx, dword [0x6a9f00]
mov ebp, dword [ebp + 0x784]
fst dword [esp + 0x40]
fcomp dword [ecx + 0x1d8]
fnstsw ax
test ah, 0x44
jnp 0x410f3e
fld dword [ecx + 0x1d8]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x44]
add esp, 4
fld dword [esp + 0x40]
push ecx
mov eax, 9
fstp dword [esp]
mov ecx, ebp
call fcn.00515020
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x98
ret 0xc