Function at 0x4488d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1f8
push ebx
push ebp
push esi
push edi
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x189]
mov byte [esp + 0x188], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x8e5394]
push str.newest:
push eax
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448932
mov edi, str.newest:
or ecx, 0xffffffff
xor eax, eax
push str._PUK3_newest.txt
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518e6c
add ecx, edx
push ecx
call fcn.00506391
add esp, 0xc
mov ecx, dword [0x8e5394]
push str.savedata:
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448973
lea eax, [esp + 0x188]
mov edi, str.savedata:
push eax
or ecx, 0xffffffff
xor eax, eax
push 0x518e6c
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, edx
push ecx
call fcn.00506391
add esp, 0xc
mov ecx, dword [0x8e5394]
push str.datafolder:
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x4489b1
mov edi, str.datafolder:
or ecx, 0xffffffff
xor eax, eax
push 0x51ff24
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518e6c
add ecx, edx
push ecx
call fcn.00506391
add esp, 0xc
mov edx, dword [0x8e5394]
push str.binfolder:
push edx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x4489ef
mov edi, str.binfolder:
or ecx, 0xffffffff
xor eax, eax
push 0x51fea4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518e6c
add ecx, edx
push ecx
call fcn.00506391
add esp, 0xc
mov eax, dword [0x8e5394]
push str.mapfolder:
push eax
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448a2c
mov edi, str.mapfolder:
or ecx, 0xffffffff
xor eax, eax
push 0x520d78
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518e6c
add ecx, edx
push ecx
call fcn.00506391
add esp, 0xc
push str.save.dat
push str.data0_s
push 0xe3a2e4
call fcn.0050543d
mov ebx, str.graphicbin:
mov edi, str.graphicbinex:
mov esi, str.graphicbinv3:
mov edx, str.graphicbin_puk2:
mov ecx, str.graphicbin_puk3:
mov eax, str.graphicbin_kw:
add esp, 0xc
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], str.graphicbiv2x:
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], str.graphicbinv2:
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
mov dword [esp + 0x8c], str.graphicinfobin:
mov dword [esp + 0x90], str.graphicinfobinex:
mov dword [esp + 0x94], str.graphicinfobinv2:
mov dword [esp + 0x98], str.graphicinfobinv3:
mov dword [esp + 0x9c], str.graphicinfobin_puk2:
mov dword [esp + 0xa0], str.graphicinfobin_puk3:
mov dword [esp + 0xa4], str.graphicinfobin_kw:
mov dword [esp + 0x1c], str.graphic__d.bin
mov dword [esp + 0x20], str.graphicex__d.bin
mov dword [esp + 0x24], str.graphicv2__d.bin
mov dword [esp + 0x28], str.graphicv3__d.bin
mov dword [esp + 0x2c], str.PUK2graphic_puk2__d.bin
mov dword [esp + 0x30], str.PUK3graphic_puk3__d.bin
mov dword [esp + 0x34], str.KWgraphic_kw__d.bin
mov dword [esp + 0x16c], str.graphicInfo__d.bin
mov dword [esp + 0x170], str.graphicinfoex__d.bin
mov dword [esp + 0x174], str.graphicinfov2__d.bin
mov dword [esp + 0x178], str.graphicinfov3__d.bin
mov dword [esp + 0x17c], str.PUK2graphicinfo_puk2__d.bin
mov dword [esp + 0x180], str.PUK3graphicinfo_puk3__d.bin
mov dword [esp + 0x184], str.KWgraphicinfo_kw__d.bin
mov dword [esp + 0x38], str.animebin:
mov dword [esp + 0x3c], str.animebinex:
mov dword [esp + 0x40], str.animebinv2:
mov dword [esp + 0x44], str.animebinv3:
mov dword [esp + 0x48], str.animebin_puk2:
mov dword [esp + 0x4c], str.animebin_puk3:
mov dword [esp + 0x50], str.animebin_kw:
mov dword [esp + 0x54], str.animeinfobin:
mov dword [esp + 0x58], str.animeinfobinex:
mov dword [esp + 0x5c], str.animeinfobinv2:
mov dword [esp + 0x60], str.animeinfobinv3:
mov dword [esp + 0x64], str.animeinfobin_puk2:
mov dword [esp + 0x68], str.animeinfobin_puk3:
mov dword [esp + 0x6c], str.animeinfobin_kw:
mov dword [esp + 0x134], str.anime__d.bin
mov dword [esp + 0x138], str.animeex__d.bin
mov dword [esp + 0x13c], str.animev2__d.bin
mov dword [esp + 0x140], str.animev3__d.bin
mov dword [esp + 0x144], str.PUK2_anime_puk2__d.bin
mov dword [esp + 0x148], str.PUK3_anime_puk3__d.bin
mov dword [esp + 0x14c], str.anime_joy__d.bin
mov dword [esp + 0x70], str.animeinfo__d.bin
mov dword [esp + 0x74], str.animeinfoex__d.bin
mov dword [esp + 0x78], str.animeinfov2__d.bin
mov dword [esp + 0x7c], str.animeinfov3__d.bin
mov dword [esp + 0x80], str.PUK2_animeinfo_puk2__d.bin
mov dword [esp + 0x84], str.PUK3_animeinfo_puk3__d.bin
mov dword [esp + 0x88], str.animeinfo_joy__d.bin
mov dword [esp + 0xa8], str.coordinatebin:
mov dword [esp + 0xac], str.coordinatebinex:
mov dword [esp + 0xb0], str.coordinatebinv2:
mov dword [esp + 0xb4], str.coordinatebinv3:
mov dword [esp + 0xb8], str.coordinatebin_puk2:
mov dword [esp + 0xbc], str.coordinatebin_puk3:
mov dword [esp + 0xc0], str.coordinatebin_kw:
xor esi, esi
mov dword [esp + 0x118], str.coordinateinfobin:
mov dword [esp + 0x11c], str.coordinateinfobinex:
mov dword [esp + 0x120], str.coordinateinfobinv2:
mov dword [esp + 0x124], str.coordinateinfobinv3:
mov dword [esp + 0x128], str.coordinateinfobin_puk2:
mov dword [esp + 0x12c], str.coordinateinfobin_puk3:
mov dword [esp + 0x130], str.coordinateinfobin_kw:
mov dword [esp + 0xe0], str.coordinatev3__d.bin
mov dword [esp + 0xe4], 0x520688
mov dword [esp + 0xe8], 0x520674
mov dword [esp + 0xec], 0x520660
mov dword [esp + 0xf0], 0x520644
mov dword [esp + 0xf4], 0x520628
mov dword [esp + 0xf8], 0x520610
mov dword [esp + 0x150], str.coordinateinfov3__d.bin
mov dword [esp + 0x154], 0x5205e0
mov dword [esp + 0x158], 0x5205c8
mov dword [esp + 0x15c], 0x5205b0
mov dword [esp + 0x160], 0x520590
mov dword [esp + 0x164], 0x520570
mov dword [esp + 0x168], 0x520554
xor ebp, ebp
mov edi, dword [esp + esi + 0xc4]
mov ecx, dword [0x8e5394]
push edi
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448e28
lea eax, [esp + 0x10]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + esi + 0x28]
add esp, 0xc
lea eax, [ebp + str.Graphic.bin]
push ecx
push edx
push eax
call fcn.0050543d
add esp, 0xc
mov edi, dword [esp + esi + 0xfc]
mov ecx, dword [0x8e5394]
push edi
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448e7d
lea eax, [esp + 0x10]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + esi + 0x28]
add esp, 0xc
lea eax, [ebp + str.Graphic.bin]
push ecx
push edx
push eax
call fcn.0050543d
add esp, 0xc
mov edi, dword [esp + esi + 0x8c]
mov ecx, dword [0x8e5394]
push edi
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448ed5
lea eax, [esp + 0x10]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + esi + 0x178]
add esp, 0xc
lea eax, [ebp + str.GraphicInfo.bin]
push ecx
push edx
push eax
call fcn.0050543d
add esp, 0xc
mov edi, dword [esp + esi + 0x38]
mov ecx, dword [0x8e5394]
push edi
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448f2a
lea eax, [esp + 0x10]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + esi + 0x140]
add esp, 0xc
lea eax, [ebp + 0x51b90c]
push ecx
push edx
push eax
call fcn.0050543d
add esp, 0xc
mov edi, dword [esp + esi + 0x54]
mov ecx, dword [0x8e5394]
push edi
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448f7c
lea eax, [esp + 0x10]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + esi + 0x7c]
add esp, 0xc
lea eax, [ebp + str.AnimeInfo.bin]
push ecx
push edx
push eax
call fcn.0050543d
add esp, 0xc
add esi, 4
add ebp, 0x80
cmp esi, 0x1c
jl 0x448dd3
xor esi, esi
xor ebx, ebx
lea ebp, [ebx + 0x51c00c]
push 0x2a
push ebp
call fcn.005054a0
add esp, 8
test eax, eax
jne 0x448ff9
mov edi, dword [esp + esi + 0xa8]
mov ecx, dword [0x8e5394]
push edi
push ecx
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x448ff9
lea eax, [esp + 0x10]
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + esi + 0xec]
add esp, 0xc
push ecx
push edx
push ebp
call fcn.0050543d
add esp, 0xc
lea ebp, [ebx + 0x51c38c]
push 0x2a
push ebp
call fcn.005054a0
add esp, 8
test eax, eax
jne 0x44905f
mov edi, dword [esp + esi + 0x118]
mov eax, dword [0x8e5394]
push edi
push eax
call fcn.00505660
mov edx, eax
add esp, 8
test edx, edx
je 0x44905f
lea ecx, [esp + 0x10]
xor eax, eax
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + esi + 0x15c]
add esp, 0xc
push edx
push eax
push ebp
call fcn.0050543d
add esp, 0xc
add esi, 4
add ebx, 0x80
cmp esi, 0x1c
jl 0x448f92
xor ebx, ebx
lea ebp, [ebx + 0x51c00c]
push 0x2a
push ebp
call fcn.005054a0
add esp, 8
test eax, eax
je 0x4490c5
lea ecx, [esp + 0x10]
push ecx
push 0x520550
push ebp
call fcn.00506391
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
shl edi, 7
add edi, 0x51c00c
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ebp, [ebx + 0x51c38c]
push 0x2a
push ebp
call fcn.005054a0
add esp, 8
test eax, eax
je 0x449117
lea eax, [esp + 0x10]
push eax
push 0x520550
push ebp
call fcn.00506391
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
shl edi, 7
add edi, 0x51c38c
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add ebx, 0x80
cmp ebx, 0x380
jl 0x449073
mov eax, dword [0x8e5394]
push str.windowmode
push eax
call fcn.00505660
add esp, 8
mov ebx, 1
test eax, eax
je 0x44914b
mov dword [0x8e5410], ebx
mov ecx, dword [0x8e5394]
push str.nodelay
push ecx
call fcn.00505660
add esp, 8
test eax, eax
je 0x44916d
xor esi, esi
mov dword [0x51fe10], esi
jmp 0x44916f
xor esi, esi
mov edx, dword [0x8e5394]
push str.winpos:
push edx
call fcn.00505660
mov edx, eax
add esp, 8
cmp edx, esi
je 0x4491cd
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
push ecx
mov edi, str.winpos:
or ecx, 0xffffffff
xor eax, eax
push 0x52052c
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, edx
push ecx
call fcn.00506391
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp eax, esi
jl 0x4491cd
mov ecx, dword [esp + 0x18]
cmp ecx, esi
jl 0x4491cd
mov dword [0x8e5418], eax
mov dword [0x8e541c], ecx
mov edx, dword [0x8e5394]
push str.3Ddevice:
push edx
mov dword [0x8e5390], esi
mov byte [0x5d5b98], bl
call fcn.00505660
mov edx, eax
add esp, 8
cmp edx, esi
je 0x449217
mov edi, str.3Ddevice:
or ecx, 0xffffffff
xor eax, eax
push 0x5d5b98
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x518480
add ecx, edx
push ecx
call fcn.00506391
add esp, 0xc
mov eax, dword [0x8e5394]
push str.soundoff
push eax
call fcn.00505660
add esp, 8
test eax, eax
je 0x449234
mov dword [0x54c520], esi
mov ecx, dword [0x8e5394]
push str.musicoff
push ecx
call fcn.00505660
add esp, 8
test eax, eax
je 0x449252
mov dword [0x54c524], esi
mov edx, dword [0x8e5394]
mov dword [0xe36314], ebx
push edx
call fcn.004d4270
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f8
ret