Function at 0x477ed0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5274c6
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x5754c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004482b0
lea ecx, [esi + 0x108]
mov dword [ebp - 4], 0
mov dword [esi], vtable.BBOStatic.0
call fcn.00452bf0
mov dword [esi + 0x16c], 0xffffffff
mov dword [esi + 0x160], 0
mov dword [esi + 0x174], 0
mov byte [esi + 0x178], 0
mov eax, dword [0x5790a4]
cmp eax, 1
jge 0x478c70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x477f72
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x477f74
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datd_tree1.ase
mov dword [0x579048], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579048]
push 1
push str.datd_trees.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579048]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x478003
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478005
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datd_tree2.ase
mov dword [0x57904c], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x57904c]
push 1
push str.datd_trees.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x57904c]
mov dword [esp + 8], 0x3b449ba6
mov dword [esp + 4], 0x3b449ba6
mov dword [esp], 0x3b449ba6
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x478094
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478096
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_tree1.ase
mov dword [0x579050], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579050]
push 1
push str.dat_f_tree.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579050]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x478125
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478127
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_tree2.ase
mov dword [0x579054], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579054]
push 1
push str.dat_f_tree.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579054]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4781b6
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4781b8
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_tree3.ase
mov dword [0x579058], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579058]
push 1
push str.dat_f_tree.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579058]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x478247
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478249
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_tree4.ase
mov dword [0x57905c], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x57905c]
push 1
push str.dat_f_tree.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x57905c]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4782d8
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4782da
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_t_tree1.ase
mov dword [0x579060], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579060]
push 1
push str.dat_t_tree1.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579060]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x478369
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x47836b
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_t_tree2.ase
mov dword [0x579064], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579064]
push 1
push str.dat_t_tree2.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579064]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4783fa
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4783fc
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_s_tree1.ase
mov dword [0x579068], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579068]
push 1
push str.dat_s_tree1.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579068]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x47848b
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x47848d
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_s_tree2.ase
mov dword [0x57906c], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x57906c]
push 1
push str.dat_s_tree2.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x57906c]
mov dword [esp + 8], 0x3c23d70a
mov dword [esp + 4], 0x3c23d70a
mov dword [esp], 0x3c23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x47851c
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x47851e
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datpalm.ase
mov dword [0x579070], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579070]
push 1
push str.datpalm.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579070]
mov dword [esp + 8], 0x3ac49ba6
mov dword [esp + 4], 0x3ac49ba6
mov dword [esp], 0x3ac49ba6
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4785ad
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4785af
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datgmush.ase
mov dword [0x579074], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579074]
push 1
push str.datgmush.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579074]
mov dword [esp + 8], 0x3d23d70a
mov dword [esp + 4], 0x3d23d70a
mov dword [esp], 0x3d23d70a
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x47863e
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478640
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_rocks.ase
mov dword [0x579078], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579078]
push 1
push str.dat_rocks.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579078]
mov dword [esp + 8], 0x3a83126f
mov dword [esp + 4], 0x3a83126f
mov dword [esp], 0x3a83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4786cf
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4786d1
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datcabin.ase
mov dword [0x57907c], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x57907c]
push 1
push str.datcabin.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x57907c]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x478760
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478762
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datcabin2.ase
mov dword [0x579080], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
mov ecx, dword [0x579080]
push 1
push str.datcabin.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579080]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4787f1
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4787f3
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datpetHeadStone1.MEC
mov dword [0x579084], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045ae10
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579084]
mov dword [esp + 8], 0x3c343958
mov dword [esp + 4], 0x3c343958
mov dword [esp], 0x3c343958
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x579084]
push 0
push str.datpetHeadStone1.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x478882
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478884
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datpetHeadStone2.MEC
mov dword [0x579088], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045ae10
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579088]
mov dword [esp + 8], 0x3c03126f
mov dword [esp + 4], 0x3c03126f
mov dword [esp], 0x3c03126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x579088]
push 0
push str.datpetHeadStone2.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x478913
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478915
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_flower1.ASE
mov dword [0x57908c], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x57908c]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x57908c]
push 0
push str.datgrassTexture.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4789a4
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x4789a6
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_flower2.ASE
mov dword [0x579090], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579090]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x579090]
push 0
push str.datgrassTexture.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x478a35
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478a37
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_flower3.ASE
mov dword [0x579094], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579094]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x579094]
push 0
push str.datgrassTexture.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x478ac6
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478ac8
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.dat_flower4.ASE
mov dword [0x579098], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x579098]
mov dword [esp + 8], 0x3b03126f
mov dword [esp + 4], 0x3a83126f
mov dword [esp], 0x3b03126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x579098]
push 0
push str.datgrassTexture.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x478b57
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478b59
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datmushroom.ASE
mov dword [0x57909c], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x57909c]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x57909c]
push 0
push str.datmushroom.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
push 0x174
call fcn.004b2330
add esp, 4
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x478be8
mov ecx, eax
call fcn.00459b00
mov ecx, eax
jmp 0x478bea
xor ecx, ecx
mov eax, dword [0x5778a8]
push str.datgrass_hut.ASE
mov dword [0x5790a0], ecx
mov byte [ebp - 4], 0
push dword [eax + 0x2a3d8]
call fcn.0045b360
mov eax, dword [0x5778a8]
sub esp, 0xc
mov ecx, dword [0x5790a0]
mov dword [esp + 8], 0x3b83126f
mov dword [esp + 4], 0x3b83126f
mov dword [esp], 0x3b83126f
push dword [eax + 0x2a3d8]
call fcn.0045cc70
mov eax, dword [0x5778a8]
mov ecx, dword [0x5790a0]
push 0
push str.datgrass_hut.png
push dword [eax + 0x2a3d8]
call fcn.0045be00
inc dword [0x5790a4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8
inc eax
mov dword [0x5790a4], eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8