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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], esi
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
push 0x240
call fcn.0046e46e
pop ecx
mov ebx, eax
test ebx, ebx
je 0x453de3
xor ecx, ecx
mov dword [ebx + 0x224], ecx
mov dword [ebx + 4], ecx
test esi, esi
je 0x453e7a
push esi
call fcn.0047028a
mov dword [ebp - 0x14], eax
add esp, 4
mov edx, eax
mov dword [ebx + 0x10], edx
test edx, edx
je 0x453de3
mov ecx, edx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x453a0a
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4539f3
add eax, 0xffffffff
add eax, 1
push eax
call fcn.0046e46e
pop ecx
mov dword [ebx + 0x178], eax
test eax, eax
je 0x453de3
mov edi, dword [ebx + 0x10]
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x453a27
fldz
fst qword [ebx + 0x78]
fst qword [ebx + 0x80]
fst qword [ebx + 0x88]
fst qword [ebx + 0x90]
fst qword [ebx + 0xa0]
fst qword [ebx + 0xa8]
fst qword [ebx + 0xb0]
fstp qword [ebx + 0xb8]
mov dword [ebx + 0xc0], 0xd
mov ecx, 0xffff
xor edx, edx
mov dword [ebx + 0x154], 0xf
push 0x7f00
mov dword [ebx], edx
mov dword [ebx + 0x164], 0x19
push edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x24], edx
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], edx
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], edx
mov dword [ebx + 0x3c], edx
mov dword [ebx + 0x40], edx
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x5c], edx
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x64], edx
mov dword [ebx + 0x68], edx
mov dword [ebx + 0x98], edx
mov word [ebx + 0xc4], cx
mov dword [ebx + 0xc8], edx
mov dword [ebx + 0xcc], edx
mov ecx, 0xffffffff
mov dword [ebx + 0xd4], ecx
mov dword [ebx + 0x174], edx
mov dword [ebx + 0xd8], edx
mov dword [ebx + 0xdc], edx
mov dword [ebx + 0xe0], edx
mov dword [ebx + 0xe4], edx
mov dword [ebx + 0xe8], edx
mov byte [ebx + 0xec], dl
mov edi, 1
mov word [ebx + 0x12c], di
mov esi, 0x808
mov word [ebx + 0x110], si
mov dword [ebx + 0x114], edx
mov dword [ebx + 0x120], edx
mov dword [ebx + 0x124], edx
mov dword [ebx + 0x128], edx
mov dword [ebx + 0x130], edx
mov dword [ebx + 0x134], edx
mov dword [ebx + 0x138], edx
mov dword [ebx + 0x13c], edx
mov dword [ebx + 0x140], edx
mov dword [ebx + 0x144], edx
mov dword [ebx + 0x148], edx
mov dword [ebx + 0x14c], edx
mov dword [ebx + 0x150], edi
mov dword [ebx + 0x158], edx
mov dword [ebx + 0x15c], edx
mov dword [ebx + 0x160], edx
mov dword [ebx + 0x168], edx
mov dword [ebx + 0x16c], edx
mov dword [ebx + 0x170], edx
mov dword [ebx + 0x17c], edx
mov dword [ebx + 0x180], edx
mov dword [ebx + 0x184], edx
mov dword [ebx + 0x188], edx
mov dword [ebx + 0x18c], edx
mov dword [ebx + 0x190], edx
mov dword [ebx + 0x194], edx
mov dword [ebx + 0x198], edx
mov dword [ebx + 0x19c], edx
mov dword [ebx + 0x1a0], edx
mov dword [ebx + 0x1a4], edx
mov dword [ebx + 0x1a8], ecx
mov dword [ebx + 0x1ac], ecx
mov dword [ebx + 0x1b0], ecx
mov dword [ebx + 0x1b4], ecx
mov dword [ebx + 0x1b8], edx
mov dword [ebx + 0x1bc], edx
mov dword [ebx + 0x1c0], edx
mov dword [ebx + 0x1c4], edx
mov dword [ebx + 0x1c8], edx
mov dword [ebx + 0x1cc], edx
mov dword [ebx + 0x1d0], edx
mov dword [ebx + 0x1d4], edx
mov dword [ebx + 0x1d8], edx
mov dword [ebx + 0x1dc], edx
mov dword [ebx + 0x1e0], edx
mov dword [ebx + 0x1e4], edx
mov dword [ebx + 0x1e8], edx
mov dword [ebx + 0x1ec], edx
mov dword [ebx + 0x1f0], edx
mov dword [ebx + 0x1f4], edx
mov byte [ebx + 0x214], dl
mov byte [ebx + 0x215], dl
mov byte [ebx + 0x216], dl
mov byte [ebx + 0x217], dl
mov byte [ebx + 0x218], dl
mov byte [ebx + 0x219], dl
mov byte [ebx + 0x21a], dl
mov dword [ebx + 0x21c], edx
mov byte [ebx + 0x220], dl
mov dword [ebx + 0xd0], edx
mov word [ebx + 0x22c], dx
call dword [sym.imp.USER32.dll_LoadCursorA]
mov edx, dword [ebp - 4]
mov dword [ebx + 0x230], eax
test edx, edx
je 0x453e64
mov edx, dword [edx + 4]
cmp edx, 1
jb 0x453e3c
cmp edx, 2
jbe 0x453d0e
cmp edx, 4
jne 0x453cf8
mov edi, dword [ebp - 4]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x44], edx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edx
jmp 0x453d1f
mov eax, 0x80000000
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
jmp 0x453e4d
mov edx, 0x80000000
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], edx
mov edx, dword [0x4a2444]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
call fcn.00450970
mov dword [ebp - 0x34], 0x46ff0000
mov dword [ebp - 0x48], eax
mov eax, dword [0x4a508c]
mov dword [ebp - 0x30], ebx
cmp eax, 1
jne 0x453d51
or dword [ebp - 0x34], 0x1000000
movzx ebx, word [0x4a28ec]
lea eax, [ebp - 0x24]
push eax
push dword [0x4a28cc]
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
sub edx, esi
sub eax, ecx
mov dword [0x4a29b0], edx
push 1
sub eax, ebx
mov dword [0x4a29b4], eax
push eax
push edx
push ecx
push esi
push dword [0x4a28d0]
call dword [sym.imp.USER32.dll_MoveWindow]
lea eax, [ebp - 0x50]
push eax
push 0
push 0x220
push dword [0x4a2460]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, eax
mov edx, dword [ebp - 4]
test edx, edx
je 0x453e02
mov edx, dword [edx + 4]
cmp edx, 1
je 0x453df2
cmp edx, 2
jne 0x453dd6
xor edx, edx
push edx
push edx
push 0xf030
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x453e02
cmp edx, 4
je 0x453e02
push 8
call fcn.004581b8
pop ecx
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
xor eax, eax
mov esp, ebp
pop ebp
ret
xor edx, edx
push edx
push edx
push 0xf020
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
test ebx, ebx
je 0x453e2d
push 0
push ebx
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov esi, eax
push 0
push 0xf060
push esi
call dword [sym.imp.USER32.dll_DeleteMenu]
push 0x400
push 5
push esi
call dword [sym.imp.USER32.dll_DeleteMenu]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov eax, ebx
mov ebx, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
mov eax, 0x80000000
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
push 8
call fcn.004581b8
pop ecx
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov edx, 0x80000000
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], edx
jmp 0x453d1f
lea ecx, [ebp - 0x2c]
add edi, 1
push edi
push 0x4b7094
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x2c]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x453eac
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x453e95
add eax, 0xffffffff
mov ecx, dword [0x4affa0]
mov esi, eax
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x453ecd
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x453eb6
add eax, 0xffffffff
lea edx, [esi + eax + 1]
push edx
call fcn.0046e46e
mov dword [ebp - 0x14], eax
add esp, 4
mov edx, eax
test edx, edx
je 0x453de3
mov esi, eax
mov edi, dword [0x4affa0]
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x453eef
mov edi, dword [ebp - 0x14]
lea edx, [ebp - 0x2c]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
add edi, 0xffffffff
mov al, byte [edx]
add edx, 1
mov byte [edi], al
add edi, 1
test al, al
jne 0x453f0f
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x10], edx
jmp 0x4539ef