Function at 0x450570
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5b4abb
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x628040]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00478b1f
push dword [esi + 0xc0]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0x80
push dword [esi + 0x20]
call ebx
push dword [esi + 0xc0]
push 0
push 0x80
push dword [esi + 0x20]
call ebx
push 0x2b08
call fcn.0046f54a
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 0
test eax, eax
je 0x4505fa
lea ecx, [esi + 0xbc]
push ecx
mov ecx, eax
call fcn.00462870
jmp 0x4505fc
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esi + 0xbc]
mov dword [esi + 0xcc], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test al, al
jne 0x450623
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x21
push 0
push 0x1036
push dword [esi + 0x2a4]
call ebx
push 0x523
mov ecx, esi
call fcn.00477126
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call ebx
call fcn.0048225c
push 0x84
lea edi, [esi + 0x144]
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_LoadMenuW]
push eax
mov ecx, edi
call fcn.004817c2
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x70]
push 0
push 0
push 0x1009
push dword [esi + 0x2a4]
call ebx
xor ebx, ebx
lea ecx, [esi + 0x284]
mov edi, 0x641e00
push 0xffffffffffffffff
push 0xffffffffffffffff
push 2
lea eax, [edi - 0x40]
push eax
push ebx
call fcn.004701cc
movzx eax, word [edi]
push eax
push ebx
push 0x101e
push dword [esi + 0x2a4]
call dword [sym.imp.USER32.dll_SendMessageW]
add edi, 0x44
lea ecx, [esi + 0x284]
inc ebx
cmp edi, 0x642284
jle 0x450696
push dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetDC]
call edi
push eax
call fcn.0047aafa
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push dword [eax + 8]
call ebx
push dword [esi + 0x20]
sub eax, 0xa
mov dword [esp + 0x18], eax
call edi
push eax
call fcn.0047aafa
push 0xa
push dword [eax + 8]
call ebx
push dword [esi + 0x20]
sub eax, 0x64
mov dword [esp + 0x1c], eax
call edi
push eax
call fcn.0047aafa
push 8
push dword [eax + 8]
call ebx
push dword [esi + 0x20]
mov edi, eax
sub edi, dword [esp + 0x18]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.0047aafa
push 0xa
push dword [eax + 8]
call ebx
mov ecx, eax
mov eax, edi
sub ecx, dword [esp + 0x18]
cdq
sub eax, edx
mov edi, eax
mov eax, 0
sar edi, 1
push 1
cmovs edi, eax
mov eax, ecx
cdq
mov ecx, 0
sub eax, edx
sar eax, 1
cmovs eax, ecx
mov ecx, dword [esp + 0x18]
add eax, 0xfffffffb
add ecx, edi
add eax, dword [esp + 0x1c]
sub ecx, edi
push eax
push ecx
push 5
push edi
mov ecx, esi
call fcn.004777ef
push 0x460
mov ecx, esi
call fcn.00477126
mov edi, eax
test edi, edi
je 0x4507c8
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0x6018fc
push 0
push 0x143
push dword [edi + 0x20]
call ebx
push 0x601910
push 0
push 0x143
push dword [edi + 0x20]
call ebx
push 0x601904
push 0
push 0x143
push dword [edi + 0x20]
call ebx
mov eax, dword [esi + 0x14c]
lea ecx, [esi + 0x14c]
push esi
push 0x92
call dword [eax + 0x160]
push 0
lea ecx, [esi + 0x14c]
call fcn.00477a93
mov edi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x2710
push 1
push dword [esi + 0x20]
call edi
push 0
push 0xbb8
push 2
push dword [esi + 0x20]
call edi
mov eax, 1
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret