Function at 0x498760
Capabilities:
Terminate process

Disassembly:
mov ecx, dword [ecx]
jmp 0x4db7a0
push 0xffffffffffffffff
push 0x5a1748
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push ebp
push esi
push edi
mov eax, dword [0x60aecc]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [str.utf8mode]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00496da0
call fcn.00401000
add esp, 4
xor ebx, ebx
cmp al, bl
mov eax, dword [esi + 0x12b0]
push 0x63
mov dword [esp + 0x30], 3
mov dword [esp + 0x34], 0x4da510
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 4
mov dword [esp + 0x40], eax
push eax
je 0x4db873
mov byte [esi + 0x12dc], 1
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x614300
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x5c88b8
call fcn.004971d0
call fcn.004fff40
add esp, 4
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x54], eax
call dword [sym.imp.USER32.dll_RegisterClassW]
jmp 0x4db8b9
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, 0x614300
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x5a8554
call fcn.00496ed0
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x54], eax
call dword [sym.imp.USER32.dll_RegisterClassA]
mov eax, dword [esi + 0x12b8]
cmp eax, ebx
je 0x4db8e2
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4db8e2
push str.Error:_mExternalWindowParent_is_lost__exiting_
call fcn.004dfae0
add esp, 4
push 0xffffffffffffffff
call fcn.00560f29
cmp byte [esi + 0x12dc], bl
push ebx
je 0x4db953
mov eax, dword [esi + 0x12b0]
push eax
mov eax, dword [esi + 0x12b8]
push ebx
push eax
push 0x168
push 0x1e0
neg eax
push ebx
sbb eax, eax
push ebx
and eax, 0x4f320000
add eax, 0xce0000
push eax
push str.PlayFirst
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x614300
call fcn.004971d0
call fcn.004fff40
mov ecx, dword [esi + 0x12b8]
add esp, 4
neg ecx
sbb ecx, ecx
and ecx, 0xfffc0000
push eax
add ecx, 0x40000
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
jmp 0x4db9a8
mov edx, dword [esi + 0x12b0]
mov eax, dword [esi + 0x12b8]
push edx
push ebx
push eax
push 0x168
neg eax
push 0x1e0
sbb eax, eax
push ebx
and eax, 0x4f320000
push ebx
add eax, 0xce0000
push eax
push 0x5c8868
mov ecx, 0x614300
call fcn.00496ed0
push eax
mov eax, dword [esi + 0x12b8]
neg eax
sbb eax, eax
and eax, 0xfffc0000
add eax, 0x40000
push eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, eax
push ecx
mov dword [esi + 0x12b4], eax
call fcn.004d9de0
mov eax, dword [esi + 0x12b4]
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push 0x5a9180
push edx
call fcn.00497f10
add esp, 8
mov ecx, esp
mov dword [esp + 0x20], esp
push str.hwnd
mov dword [esp + 0x98], ebx
call fcn.00496da0
mov dword [esp + 0x94], 0xffffffff
call fcn.00499d50
add esp, 8
cmp byte [esi + 5], bl
je 0x4dba62
mov edx, dword [esi + 0x12b4]
lea ecx, [esp + 0x1c]
xor eax, eax
push ecx
push edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
sub ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x12b4]
push 6
add eax, 0x2d0
push eax
add ecx, 0x3c0
push ecx
push ebx
push ebx
push ebx
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi + 0x12b4]
push 1
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x12b4]
push ebx
push ecx
call dword [sym.imp.USER32.dll_GetSystemMenu]
push 0x30
lea edx, [esp + 0x58]
push ebx
push edx
mov edi, eax
call fcn.0055da20
mov ebp, dword [sym.imp.USER32.dll_SetMenuItemInfoA]
add esp, 0xc
lea eax, [esp + 0x54]
push eax
push ebx
push 0xf000
push edi
mov dword [esp + 0x64], 0x30
mov dword [esp + 0x68], 1
mov dword [esp + 0x70], 3
call ebp
lea ecx, [esp + 0x54]
push ecx
push 1
push ebx
push edi
call ebp
lea edx, [esp + 0x54]
push edx
push 1
push 1
push edi
call ebp
lea eax, [esp + 0x54]
push eax
push 1
push 2
push edi
call ebp
lea ecx, [esp + 0x54]
push ecx
push 1
push 3
push edi
call ebp
cmp byte [esi + 0x12dc], bl
je 0x4dbafb
call fcn.004988c0
mov edx, dword [esi + 0x12b4]
push eax
push ebx
push edx
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x4dbb0f
call fcn.004988c0
push eax
mov eax, dword [esi + 0x12b4]
push ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [esi + 0x12b4]
push ecx
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret