Function at 0x463b30
Capabilities:
Hide graphical window
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x479291
mov eax, dword fs:[0]
push eax
sub esp, 0x4a0
mov eax, dword [0x4951c0]
xor eax, esp
mov dword [esp + 0x498], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4951c0]
xor eax, esp
push eax
lea eax, [esp + 0x4b4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x4c4]
xor ebx, ebx
push ebx
mov dword [esp + 0x18], eax
call dword [sym.imp.ole32.dll_CoInitialize]
push 8
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.WINMM.dll_timeGetDevCaps]
mov edx, dword [esp + 0x38]
push edx
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
mov eax, dword [0x49ab6c]
mov edx, dword [eax + 0x10]
mov ecx, 0x653778
call fcn.00401460
push ebx
push 0x486878
call fcn.00408562
add esp, 8
test eax, eax
jne 0x463dc2
push 0x486884
mov eax, 0x486890
call fcn.00401050
mov dword [0x58f9f0], eax
push 0x48689c
mov eax, 0x4868a4
call fcn.00401050
mov dword [0x58f9f4], eax
push 0x4868b0
mov eax, 0x4868bc
call fcn.00401050
mov dword [0x58f9f8], eax
push 0x4868c8
mov eax, 0x4868d0
call fcn.00401050
mov dword [0x58f9fc], eax
push 0x4868dc
mov eax, 0x4868e8
call fcn.00401050
mov dword [0x58fa04], eax
push 0x4868f4
mov eax, 0x486900
call fcn.00401050
mov dword [0x58fa08], eax
push 0x48690c
mov eax, 0x486918
call fcn.00401050
mov dword [0x58fa0c], eax
push 0x486924
mov eax, 0x486930
call fcn.00401050
mov dword [0x58fa10], eax
push 0x48693c
mov eax, 0x486948
call fcn.00401050
mov dword [0x58fa14], eax
push 0x486954
mov eax, 0x486960
call fcn.00401050
mov dword [0x58fa18], eax
push 0x48696c
mov eax, 0x48697c
call fcn.00401050
mov dword [0x58fa1c], eax
push 0x486988
mov eax, 0x486994
call fcn.00401050
mov dword [0x58fa20], eax
push 0x4869a0
mov eax, 0x4869ac
call fcn.00401050
mov dword [0x58fa24], eax
push 0x4869b8
mov eax, 0x4869c8
call fcn.00401050
mov dword [0x58fa28], eax
push 0x4869d4
mov eax, 0x4869e0
call fcn.00401050
mov dword [0x58fa2c], eax
push 0x4869ec
mov eax, 0x4869fc
call fcn.00401050
mov dword [0x58fa30], eax
push 0x486a08
mov eax, 0x486a18
call fcn.00401050
mov dword [0x58fa34], eax
push 0x486a24
mov eax, 0x486a34
call fcn.00401050
mov dword [0x58fa38], eax
push 0x486a40
mov eax, 0x486a50
call fcn.00401050
mov dword [0x58fa3c], eax
push 0x486a5c
mov eax, 0x486a6c
call fcn.00401050
mov dword [0x58fa40], eax
push 0x486a78
mov eax, 0x486a84
call fcn.00401050
mov dword [0x58fa44], eax
push 0x486a90
mov eax, 0x486a98
call fcn.00401050
mov dword [0x58fa48], eax
push 0x486aa4
mov eax, 0x486ab0
call fcn.00401050
mov dword [0x58fa00], eax
push 0x486abc
mov eax, 0x486ac8
call fcn.00401050
mov dword [0x58fa4c], eax
push 0x486ad4
mov eax, 0x486ae4
call fcn.00401050
mov dword [0x58fa54], eax
push 0x486af0
mov eax, str.nslua.dll
jmp 0x463fd6
push ebx
push 0x486b0c
call fcn.00408562
add esp, 8
test eax, eax
jne 0x463feb
push 0x486b1c
mov eax, 0x486b28
call fcn.00401050
mov dword [0x58f9f0], eax
push str.NL_GetL
mov eax, 0x486b40
call fcn.00401050
mov dword [0x58f9f4], eax
push 0x486b50
mov eax, 0x486b5c
call fcn.00401050
mov dword [0x58f9f8], eax
push str.NL_call
mov eax, 0x486b74
call fcn.00401050
mov dword [0x58f9fc], eax
push str.NL_error
mov eax, 0x486b90
call fcn.00401050
mov dword [0x58fa04], eax
push str.NL_settop
mov eax, 0x486bac
call fcn.00401050
mov dword [0x58fa08], eax
push str.NL_gettop
mov eax, 0x486bc8
call fcn.00401050
mov dword [0x58fa0c], eax
push str.NL_isnumber
mov eax, 0x486be4
call fcn.00401050
mov dword [0x58fa10], eax
push str.NL_istable
mov eax, 0x486c00
call fcn.00401050
mov dword [0x58fa14], eax
push str.NL_isstring
mov eax, 0x486c1c
call fcn.00401050
mov dword [0x58fa18], eax
push str.NL_isboolean
mov eax, 0x486c3c
call fcn.00401050
mov dword [0x58fa1c], eax
push str.NL_isnil
mov eax, 0x486c58
call fcn.00401050
mov dword [0x58fa20], eax
push str.NL_tonumber
mov eax, 0x486c74
call fcn.00401050
mov dword [0x58fa24], eax
push str.NL_tointeger
mov eax, 0x486c94
call fcn.00401050
mov dword [0x58fa28], eax
push str.NL_tostring
mov eax, 0x486cb0
call fcn.00401050
mov dword [0x58fa2c], eax
push str.NL_toboolean
mov eax, 0x486cd0
call fcn.00401050
mov dword [0x58fa30], eax
push str.NL_pushnumber
mov eax, 0x486cf0
call fcn.00401050
mov dword [0x58fa34], eax
push str.NL_pushinteger
mov eax, 0x486d10
call fcn.00401050
mov dword [0x58fa38], eax
push str.NL_pushstring
mov eax, 0x486d30
call fcn.00401050
mov dword [0x58fa3c], eax
push str.NL_pushboolean
mov eax, 0x486d50
call fcn.00401050
mov dword [0x58fa40], eax
push str.NL_gettable
mov eax, 0x486d6c
call fcn.00401050
mov dword [0x58fa44], eax
push str.NL_pop
mov eax, 0x486d84
call fcn.00401050
mov dword [0x58fa48], eax
push str.NL_dostring
mov eax, 0x486da0
call fcn.00401050
mov dword [0x58fa00], eax
push str.NL_register
mov eax, 0x486dbc
call fcn.00401050
mov dword [0x58fa4c], eax
push str.NL_getglobal
mov eax, 0x486ddc
call fcn.00401050
mov dword [0x58fa54], eax
push str.NL_paramcall
mov eax, str.dll_nslua.dll
call fcn.00401050
mov dword [0x58fa50], eax
call dword [0x58f9f0]
call fcn.00420050
push ebx
push 0x486e0c
call fcn.00408562
add esp, 8
test eax, eax
jne 0x4640f4
push 0x486e1c
mov eax, 0x486e28
call fcn.00401050
mov dword [0x554438], eax
push 0x486e38
mov eax, 0x486e44
call fcn.00401050
mov dword [0x5553e0], eax
push 0x486e54
mov eax, 0x486e5c
call fcn.00401050
mov dword [0x55b280], eax
push 0x486e6c
mov eax, 0x486e74
call fcn.00401050
mov dword [0x55f148], eax
push 0x486e84
mov eax, 0x486e8c
call fcn.00401050
mov dword [0x5553e4], eax
push 0x486e9c
mov eax, 0x486ea4
call fcn.00401050
mov dword [0x55b284], eax
push 0x486eb4
mov eax, 0x486ec0
call fcn.00401050
mov dword [0x5553ec], eax
push 0x486ed0
mov eax, 0x486ed8
call fcn.00401050
mov dword [0x55933c], eax
push 0x486ee8
mov eax, str.dll_nsogg2.dll
call fcn.00401050
push 0xc8
push ebx
push 0x5553f0
mov dword [0x5553e8], eax
mov byte [0x58fcb6], 1
mov dword [0x543994], 0xc7
call fcn.004112a0
mov ecx, dword [0x653dbc]
add esp, 0xc
push ecx
call dword [0x554438]
add esp, 4
mov byte [0x54b122], bl
jmp 0x464389
push ebx
push 0x486f00
call fcn.00408562
add esp, 8
test eax, eax
jne 0x4641fd
push 0x486f0c
mov eax, 0x486f18
call fcn.00401050
mov dword [0x554438], eax
push 0x486f24
mov eax, 0x486f30
call fcn.00401050
mov dword [0x5553e0], eax
push 0x486f3c
mov eax, 0x486f44
call fcn.00401050
mov dword [0x55b280], eax
push 0x486f50
mov eax, 0x486f58
call fcn.00401050
mov dword [0x55f148], eax
push 0x486f64
mov eax, 0x486f6c
call fcn.00401050
mov dword [0x5553e4], eax
push 0x486f78
mov eax, 0x486f80
call fcn.00401050
mov dword [0x55b284], eax
push 0x486f8c
mov eax, 0x486f98
call fcn.00401050
mov dword [0x5553ec], eax
push 0x486fa4
mov eax, 0x486fac
call fcn.00401050
mov dword [0x55933c], eax
push str.Fade
mov eax, str.nsogg2.dll
call fcn.00401050
push 0xc8
push ebx
push 0x5553f0
mov dword [0x5553e8], eax
mov byte [0x58fcb6], 1
mov dword [0x543994], 0xc7
call fcn.004112a0
mov edx, dword [0x653dbc]
add esp, 0xc
push edx
call dword [0x554438]
add esp, 4
mov byte [0x54b122], bl
jmp 0x464389
push ebx
push 0x486fcc
call fcn.00408562
add esp, 8
test eax, eax
jne 0x4642e7
push 0x486fd8
mov eax, 0x486fe4
call fcn.00401050
mov dword [0x554438], eax
push 0x486ff0
mov eax, 0x486ffc
call fcn.00401050
mov dword [0x5553e0], eax
push str.Open
mov eax, 0x487010
call fcn.00401050
mov dword [0x55b280], eax
push str.Close
mov eax, 0x487024
call fcn.00401050
mov dword [0x55f148], eax
push str.Play
mov eax, 0x487038
call fcn.00401050
mov dword [0x5553e4], eax
push str.Play2
mov eax, 0x48704c
call fcn.00401050
mov dword [0x55b284], eax
push str.IsPlaying
mov eax, 0x487064
call fcn.00401050
mov dword [0x5553ec], eax
push str.Volume
mov eax, str.nsogg.dll
call fcn.00401050
push 0xc8
push ebx
push 0x5553f0
mov dword [0x55933c], eax
mov byte [0x58fb9f], 1
call fcn.004112a0
mov eax, dword [0x653dbc]
add esp, 0xc
push eax
call dword [0x554438]
add esp, 4
mov byte [0x54b122], bl
jmp 0x464389
push ebx
push 0x487084
call fcn.00408562
add esp, 8
test eax, eax
jne 0x464389
push str.OggOpen
mov eax, 0x487098
call fcn.00401050
mov dword [0x58f9d4], eax
push str.OggDecode
mov eax, 0x4870b0
call fcn.00401050
mov dword [0x58f9dc], eax
push str.OggClose
mov eax, 0x4870c8
call fcn.00401050
mov dword [0x58f9e4], eax
push str.OggOpen2
mov eax, 0x4870e0
call fcn.00401050
mov dword [0x58f9d8], eax
push str.OggDecode2
mov eax, 0x4870f8
call fcn.00401050
mov dword [0x58f9e0], eax
push str.OggClose2
mov eax, 0x487110
call fcn.00401050
mov dword [0x58f9e8], eax
push str.OggRestart
mov eax, 0x487128
call fcn.00401050
mov dword [0x58f9ec], eax
push ebx
push 0x487134
call fcn.00408562
add esp, 8
test eax, eax
jne 0x464418
push 0x487144
mov eax, 0x48714c
call fcn.00401050
mov dword [0x58fe74], eax
push 0x48715c
mov eax, 0x487168
call fcn.00401050
mov dword [0x58fe78], eax
push 0x487178
mov eax, 0x487188
call fcn.00401050
mov dword [0x58fe80], eax
push 0x487198
mov eax, 0x4871ac
call fcn.00401050
mov dword [0x58fe7c], eax
push 0x4871bc
mov eax, 0x4871c8
call fcn.00401050
mov dword [0x58fe84], eax
push 0x4871d8
mov eax, str.dll_nspng.dll
call fcn.00401050
mov dword [0x58fe88], eax
jmp 0x4644a2
push ebx
push 0x4871f8
call fcn.00408562
add esp, 8
test eax, eax
jne 0x4644a2
push str.PngLoad
mov eax, 0x48720c
call fcn.00401050
mov dword [0x58fe74], eax
push str.PngGetInfo
mov eax, 0x487224
call fcn.00401050
mov dword [0x58fe78], eax
push str.PngLoad32
mov eax, 0x48723c
call fcn.00401050
mov dword [0x58fe84], eax
push str.PngGetInfo32
mov eax, 0x487258
call fcn.00401050
mov dword [0x58fe88], eax
push str.PngLoadFromMem
mov eax, 0x487274
call fcn.00401050
mov dword [0x58fe80], eax
push str.PngGetInfoFromMem
mov eax, 0x487294
call fcn.00401050
mov dword [0x58fe7c], eax
mov dword [0x544644], ebx
call fcn.0046e2d0
call fcn.004562a0
push ebx
push str.debug.314
call fcn.00408562
add esp, 8
mov ebp, 1
test eax, eax
jne 0x4644cf
mov dword [0x58fb54], ebp
mov dword [0x52d86c], ebx
mov byte [0x54a8d8], bl
jmp 0x4644e0
mov edx, dword [0x4872dc]
mov ax, word [0x4872e0]
mov ecx, 0xa
mov esi, 0x4872ac
mov edi, 0x53bf38
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4872d8]
mov dword [0x4ed348], ecx
mov cl, byte [0x4872e2]
mov dword [0x4ed34c], edx
mov edx, dword [0x485fcc]
mov word [0x4ed350], ax
mov eax, dword [0x49a31c]
mov byte [0x4ed352], cl
movsb byte es:[edi], byte [esi]
mov dword [eax], edx
mov ecx, dword [0x485fd0]
push ebx
push eax
mov byte [0x49b481], bl
mov dword [0x54c7f0], ebx
mov dword [0x58fb90], ebx
mov dword [eax + 4], ecx
call fcn.00408562
add esp, 8
test eax, eax
jne 0x46455d
call fcn.0044f720
mov esi, 0x690410
call fcn.004037c0
mov esi, dword [esp + 0x14]
or edi, 0xffffffff
mov dword [esi + 0x528], edi
mov byte [0x54c0d8], bl
mov byte [esi + 0x52c], bl
mov byte [esi + 0x72c], bl
mov dword [0x58fcb8], ebx
mov dword [0x54c2e4], ebx
mov dword [0x52dea0], ebx
mov dword [0x4963bc], edi
mov dword [0x4ab588], 0xffff00
mov dword [0x4edb9c], 0x88ffff
mov dword [0x544640], ebp
mov dword [0x4ed554], 0x28
mov dword [0x4ed558], 0xa
mov dword [0x4ed55c], ebx
mov dword [0x58fb40], ebx
mov dword [0x496800], ebp
mov dword [0x58fae0], ebx
mov dword [0x58faec], ebx
mov dword [0x58faf0], ebx
mov dword [0x58faf8], ebx
mov dword [0x58fafc], ebx
mov dword [0x58fb00], ebx
mov dword [0x58fb0c], ebx
mov dword [0x58fb10], ebx
mov dword [0x4ad7b8], 9
mov dword [0x52e5b8], ebp
mov dword [0x4ab5b4], ebp
mov dword [0x54453c], ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00408eab
add esp, 4
push ebp
mov eax, esi
call fcn.0046fad0
mov ax, word [0x4872e8]
mov cl, byte [0x4872ea]
mov edx, dword [0x4872e4]
mov word [0x52da04], ax
mov eax, dword [0x4872f0]
mov dword [0x539fcc], eax
mov eax, dword [0x4872f8]
mov dword [0x52da00], edx
mov edx, dword [0x4872ec]
mov byte [0x52da06], cl
mov cx, word [0x4872f4]
mov dword [0x4ed668], eax
mov al, byte [0x487302]
mov dword [0x539fc8], edx
mov dl, byte [0x4872f6]
mov word [0x539fd0], cx
mov ecx, dword [0x4872fc]
mov byte [0x4ed672], al
mov eax, 0xffffff
mov byte [0x539fd2], dl
mov dx, word [0x487300]
mov dword [0x4ed66c], ecx
mov ecx, 0xaaaaaa
mov dword [0x52e4b0], eax
mov dword [0x4ac80c], eax
mov eax, 0x1a
mov word [0x4ed670], dx
mov byte [0x4ed770], bl
mov byte [0x52e3b0], bl
mov byte [0x4ed878], bl
mov byte [0x53b598], bl
mov byte [0x53b698], bl
mov byte [0x52f068], bl
mov byte [0x544b80], bl
mov byte [0x544648], bl
mov byte [0x52e4b8], bl
mov byte [0x5439a0], bl
mov byte [0x52db08], bl
mov dword [0x4edb78], ecx
mov dword [0x53b16c], ecx
mov dword [0x4edba4], 0x555599
mov dword [0x4ee53c], eax
mov dword [0x4ab5b0], eax
mov dword [0x4ed33c], eax
mov dword [0x544748], 0x1c
mov dword [0x530074], 0x999999
mov dword [0x52dc0c], ebp
mov dword [0x52db00], ebx
call fcn.004599a0
cmp dword [0x58fb28], ebx
jne 0x4647a6
mov ecx, dword [0x4967f0]
imul ecx, dword [0x4965ec]
push ecx
call fcn.00407ea1
mov edx, dword [0x4967f0]
imul edx, dword [0x4965ec]
add esp, 4
push edx
mov dword [0x58fb28], eax
call fcn.00407ea1
add esp, 4
mov dword [0x498af0], eax
mov edx, dword [0x4963d8]
cmp edx, ebx
jle 0x4647cc
mov eax, dword [0x4ab5a0]
mov ecx, dword [0x539fb8]
sub ecx, eax
lea ecx, [ecx]
mov dword [ecx + eax], edi
mov dword [eax], edi
add eax, 4
sub edx, ebp
jne 0x4647c0
mov esi, dword [0x4965ec]
mov eax, esi
cdq
and edx, 3
add eax, edx
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sar ecx, 2
mov dword [0x648630], eax
lea eax, [ecx + ecx*2]
mov dword [0x591604], eax
mov eax, dword [0x4967f0]
mov dword [0x648634], eax
mov edi, eax
mov eax, dword [0x496b50]
mov dword [0x590e44], ecx
mov ecx, 0xff
mov dword [0x544854], ebx
mov dword [0x4ebfd0], ebx
mov dword [0x4ab594], ecx
mov dword [0x4ab5a8], ecx
mov dword [0x544f30], 0x40
mov dword [0x4ad7b0], ebx
mov dword [0x58fb1c], 0x3e8
mov dword [0x58fb24], ebx
mov byte [0x53b170], bl
cmp eax, ebx
je 0x464894
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x496b8c], ebx
je 0x464882
mov ecx, dword [0x496b98]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [0x496b8c]
push edx
call fcn.00407f4f
add esp, 4
mov dword [0x496b8c], ebx
mov dword [0x496b50], ebx
mov dword [0x496bac], ebx
mov byte [0x496938], bl
mov ebp, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push ebx
call ebp
mov dword [0x496b50], eax
mov eax, edi
mov ecx, esi
mov ebx, 0x496b54
call fcn.00469800
mov eax, dword [0x496b98]
mov ecx, dword [0x496b50]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push ecx
call esi
mov eax, dword [0x497848]
mov edi, dword [0x4967f0]
mov ebx, dword [0x4965ec]
test eax, eax
je 0x464920
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x497884], 0
je 0x46490f
mov edx, dword [0x497890]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x497884]
push eax
call fcn.00407f4f
add esp, 4
mov dword [0x497884], 0
xor eax, eax
mov dword [0x497848], eax
mov dword [0x4978a4], eax
mov byte [0x497630], al
push 0
call ebp
mov dword [0x497848], eax
mov ecx, ebx
mov eax, edi
mov ebx, 0x49784c
call fcn.00469800
mov ecx, dword [0x497890]
mov edx, dword [0x497848]
push ecx
push edx
call esi
mov eax, dword [0x497ae0]
mov edi, dword [0x4967f0]
mov ebx, dword [0x4965ec]
test eax, eax
je 0x4649a2
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x497b1c], 0
je 0x464991
mov eax, dword [0x497b28]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [0x497b1c]
push ecx
call fcn.00407f4f
add esp, 4
mov dword [0x497b1c], 0
xor eax, eax
mov dword [0x497ae0], eax
mov dword [0x497b3c], eax
mov byte [0x4978c8], al
push 0
call ebp
mov dword [0x497ae0], eax
mov ecx, ebx
mov eax, edi
mov ebx, 0x497ae4
call fcn.00469800
mov edx, dword [0x497b28]
mov eax, dword [0x497ae0]
push edx
push eax
call esi
mov eax, dword [0x497d78]
xor ebx, ebx
cmp eax, ebx
je 0x464a16
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x497db4], ebx
je 0x464a04
mov ecx, dword [0x497dc0]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [0x497db4]
push edx
call fcn.00407f4f
add esp, 4
mov dword [0x497db4], ebx
mov dword [0x497d78], ebx
mov dword [0x497dd4], ebx
mov byte [0x497b60], bl
push ebx
call ebp
mov dword [0x497d78], eax
mov eax, 0x80
mov ecx, eax
mov ebx, 0x497d7c
call fcn.00469800
mov eax, dword [0x497dc0]
mov ecx, dword [0x497d78]
push eax
push ecx
call esi
mov edx, dword [0x497d78]
push 0xffffff
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [0x497d78]
push 2
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [0x497d78]
push 0
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x498010]
mov ebx, dword [0x4967f0]
mov edi, dword [0x4965ec]
test eax, eax
je 0x464ac8
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x49804c], 0
je 0x464ab7
mov edx, dword [0x498058]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x49804c]
push eax
call fcn.00407f4f
add esp, 4
mov dword [0x49804c], 0
xor eax, eax
mov dword [0x498010], eax
mov dword [0x49806c], eax
mov byte [0x497df8], al
push 0
call ebp
mov dword [0x498010], eax
mov eax, ebx
mov ecx, edi
mov ebx, 0x498014
call fcn.00469800
mov ecx, dword [0x498058]
mov edx, dword [0x498010]
push ecx
push edx
call esi
xor ebp, ebp
xor ebx, ebx
cmp dword [0x4963e0], ebp
jle 0x464b24
jmp 0x464b00
mov ecx, dword [0x539fbc]
mov eax, dword [0x4ed548]
lea esi, [ecx + ebx*4]
mov edi, 0x47d4d1
mov dword [eax + ebx*4], ebp
call fcn.00402270
inc ebx
cmp ebx, dword [0x4963e0]
jl 0x464b00
cmp byte [0x58fba8], 0
je 0x464b4d
mov edx, dword [0x49a31c]
push 0x58fba8
push str._sgloval.sav
push edx
call fcn.004081b3
mov eax, dword [0x49a31c]
add esp, 0xc
jmp 0x464b77
mov ecx, dword [str.gloval.sav]
mov eax, dword [0x49a31c]
mov dword [eax], ecx
mov edx, dword [0x487318]
mov dword [eax + 4], edx
mov cx, word [0x48731c]
mov word [eax + 8], cx
mov dl, byte [0x48731e]
mov byte [eax + 0xa], dl
push ebp
push eax
call fcn.00408562
add esp, 8
test eax, eax
je 0x464bc9
mov ebx, dword [0x4963e0]
cmp ebx, dword [0x4963d8]
jge 0x464ca9
jmp 0x464ba0
mov ecx, dword [0x539fbc]
mov eax, dword [0x4ed548]
lea esi, [ecx + ebx*4]
mov edi, 0x47d4d2
mov dword [eax + ebx*4], ebp
call fcn.00402270
inc ebx
cmp ebx, dword [0x4963d8]
jl 0x464ba0
jmp 0x464ca9
mov edx, dword [0x49a31c]
push 0x48b1d4
push edx
mov dword [esp + 0x2c], ebp
call fcn.00408bd7
add esp, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x4bc], ebp
mov ebx, dword [0x4963e0]
cmp ebx, dword [0x4963d8]
jge 0x464c8b
mov edi, edi
mov ecx, dword [0x4ed548]
lea esi, [ecx + ebx*4]
cmp dword [esp + 0x24], ebp
je 0x464c3d
mov eax, dword [esp + 0x18]
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x18], eax
sub eax, dword [esp + 0x1c]
cmp eax, 0x32000
jl 0x464c51
push 0x48b2e8
push 0x48b1d8
call fcn.00458fe0
add esp, 8
jmp 0x464c51
push eax
push 1
push 4
push esi
call fcn.00408e8e
add esp, 0x10
test eax, eax
jne 0x464c51
mov dword [esi], ebp
push 0x400
lea ecx, [esp + 0xb0]
lea esi, [esp + 0x1c]
call fcn.004026c0
mov eax, dword [0x539fbc]
lea esi, [eax + ebx*4]
lea edi, [esp + 0xac]
call fcn.00402270
mov eax, dword [esp + 0x20]
inc ebx
cmp ebx, dword [0x4963d8]
jl 0x464c00
mov dword [esp + 0x4bc], 0xffffffff
cmp dword [esp + 0x24], ebp
jne 0x464ca9
cmp eax, ebp
je 0x464ca9
push eax
call fcn.00409014
add esp, 4
mov eax, dword [0x4987d8]
mov esi, dword [0x4967f0]
mov edi, dword [0x4965ec]
cmp eax, ebp
je 0x464d02
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x498814], ebp
je 0x464cef
mov ecx, dword [0x498820]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [0x498814]
push edx
call fcn.00407f4f
add esp, 4
mov dword [0x498814], ebp
mov dword [0x4987d8], ebp
mov dword [0x498834], ebp
mov byte [0x4985c0], 0
push ebp
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [0x4987d8], eax
mov eax, esi
mov ecx, edi
mov ebx, 0x4987dc
call fcn.00469800
mov eax, dword [0x498820]
mov ecx, dword [0x4987d8]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [0x4967f0]
mov ebx, dword [0x4965ec]
xor ebp, ebp
push ebp
mov byte [0x4985c0], 0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, eax
mov eax, dword [0x4987d8]
push esi
lea edx, [esp + 0x2c]
push edx
push eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], ebx
call dword [sym.imp.USER32.dll_FillRect]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [0x4967f0]
imul ecx, dword [0x4965ec]
mov edx, dword [0x58fb28]
push ecx
push ebp
push edx
call fcn.004112a0
add esp, 0xc
xor ebx, ebx
jmp 0x464da0
lea esi, [ebx + 0x649740]
mov edi, 0x47d4d3
call fcn.00402270
lea esi, [ebx + 0x6483d8]
mov edi, 0x47d4db
call fcn.00402270
lea esi, [ebx + 0x63e608]
mov edi, 0x47d515
call fcn.00402270
add ebx, 4
cmp ebx, 0xc8
jl 0x464da0
xor eax, eax
mov ecx, 0x100
mov edi, 0x52fb70
rep stosd dword es:[edi], eax
or eax, 0xffffffff
mov ecx, 0x100
mov edi, 0x53b7a8
rep stosd dword es:[edi], eax
mov dword [0x53b7a8], ebp
mov dword [0x53b7ac], 1
mov dword [0x52fb74], ebp
xor ebx, ebx
lea esi, [ebx + 0x649b30]
mov edi, 0x47d516
call fcn.00402270
lea esi, [ebx + 0x63e6d0]
mov edi, 0x47d517
call fcn.00402270
lea esi, [ebx + 0x592638]
mov edi, 0x47d51f
call fcn.00402270
mov dword [ebx + 0x530078], ebp
add ebx, 4
cmp ebx, 0x9c40
jl 0x464e10
mov ecx, dword [0x49ab6c]
lea eax, [esp + 0x40]
push eax
push ebp
mov ebx, 1
mov dword [esp + 0x48], 0x30
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], 8
mov edx, dword [ecx + 0xc]
push 0x9c44
push edx
call dword [sym.imp.USER32.dll_SetMenuItemInfoA]
cmp dword [0x52d86c], ebp
je 0x464eb0
cmp dword [0x58fcc4], ebp
jne 0x464eb0
mov eax, dword [0x49ab6c]
cmp dword [eax + 0x514], ebp
jne 0x464eb0
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetMenu]
mov dword [0x52d86c], ebp
mov dword [0x4ab6bc], ebp
mov dword [0x4edb84], ebp
mov dword [0x544c88], ebp
mov dword [0x539fc0], ebp
mov dword [0x54399c], ebp
call fcn.0045c7d0
push ebx
mov byte [0x58f97f], bl
call fcn.00462c70
add esp, 4
cmp byte [0x49b481], 0
jne 0x464f32
push ebp
mov byte [esp + 0x8b], 0x80
mov byte [esp + 0x90], 0
mov byte [esp + 0x8f], bl
mov dword [0x4eeed0], ebp
call dword [sym.imp.USER32.dll_GetDC]
push ebp
push ebp
mov esi, eax
push 0x456440
lea eax, [esp + 0x7c]
push eax
push esi
call dword [sym.imp.GDI32.dll_EnumFontFamiliesExA]
push esi
push ebp
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [0x58fb14], ebp
je 0x464f44
push 0x59ca80
call fcn.00402a10
cmp dword [0x58fb18], ebp
je 0x464f56
push 0x649638
call fcn.00402a10
mov esi, dword [esp + 0x14]
cmp dword [0x496de8], ebp
jne 0x464fb2
push str.uoncur.bmp
push 0x496bd0
mov ecx, esi
mov dword [0x58fb0c], ebx
call fcn.00402010
push str.uoffcur.bmp
push 0x496e68
mov ecx, esi
call fcn.00402010
push str.doncur.bmp
push 0x497100
mov ecx, esi
call fcn.00402010
push str.doffcur.bmp
push 0x497398
mov ecx, esi
call fcn.00402010
mov dword [0x58fb0c], ebp
push esi
call fcn.0044f0a0
push 0x7f00
push ebp
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [esi]
mov edx, dword [esi + 0x10]
push ecx
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1f4
call edi
mov ecx, dword [esi + 0x10]
push ebp
push 0x1e
push ebx
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ecx]
call fcn.004614c0
push 5
call edi
push ebp
mov byte [0x58f97f], 0
call fcn.00462c70
add esp, 4
cmp dword [0x52d86c], ebx
jne 0x465000
mov edx, dword [0x52db00]
push edx
call fcn.00407f4f
add esp, 4
xor ebx, ebx
mov dword [0x52db00], ebp
lea ebp, [ebx + 1]
jmp 0x4644e0