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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x47201c]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
cmp edi, 0x7e
ja 0x4084b0
je 0x4083e1
mov eax, edi
dec eax
je 0x4083bf
sub eax, 4
je 0x40832e
sub eax, 0xa
jne 0x4083ff
cmp dword [esi + 0x50], eax
jne 0x4083ff
mov eax, dword [esi + 0x40]
lea ecx, [esp + 0x40]
push ecx
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [esp + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x2c]
push ecx
lea ecx, [esp + 0x4c]
push ecx
push eax
mov ecx, esi
call edx
mov ecx, dword [esi + 0x40]
lea eax, [esp + 0x40]
push eax
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x40]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [esi + 0x34], 0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
je 0x40838e
mov esi, dword [esi + 0x34]
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push ecx
push esi
call edx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0x30], 0
je 0x4083a9
mov esi, dword [esi + 0x30]
mov eax, dword [esi]
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x34]
push edx
push esi
call eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebx]
push edx
push 0xffffffffffffffeb
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esi + 0x2a8]
push eax
lea ebx, [esi + 0x2a4]
mov edi, ecx
call fcn.004027a0
mov edi, dword [ebp + 8]
add esp, 4
mov ebx, dword [esp + 0x10]
cmp dword [esi + 0x34], 0
je 0x408568
cmp edi, 0x200
je 0x40847a
cmp edi, 0x201
je 0x40847a
cmp edi, 0x202
je 0x40847a
cmp edi, 0x203
je 0x40847a
cmp edi, 0x205
je 0x40847a
cmp edi, 0x206
je 0x40847a
cmp edi, 0x207
je 0x40847a
cmp edi, 0x208
je 0x40847a
cmp edi, 0x209
je 0x40847a
cmp edi, 0x20a
je 0x40847a
cmp edi, 0x100
je 0x40847a
cmp edi, 0x101
je 0x40847a
cmp edi, 0x102
je 0x40847a
cmp edi, 0x20
jne 0x408568
mov ecx, dword [ebp + 0xc]
mov esi, dword [esi + 0x34]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
lea eax, [esp + 0x14]
push eax
push ebx
push ecx
push edi
push esi
call edx
test eax, eax
jne 0x408568
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc
mov eax, edi
sub eax, 0x84
je 0x4084f5
sub eax, 0x17d
je 0x4084de
dec eax
jne 0x4083ff
mov ecx, dword [esi + 0x40]
push ebx
push 2
push 0xa2
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4083ff
mov edx, dword [esi + 0x40]
push ebx
push 2
push 0xa1
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4083ff
cmp dword [esi + 0x24], 0
je 0x4083ff
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4083ff
mov ecx, dword [esi + 0x40]
lea eax, [esp + 0x20]
push eax
push ecx
shr ebx, 0x10
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
lea eax, [esp + 0x14]
push eax
movzx eax, word [esp + 0x14]
push 1
push ebx
push eax
lea eax, [esp + 0x30]
push eax
push 1
push ecx
mov ecx, dword [edx + 0x30]
call ecx
test eax, eax
jne 0x4083fb
cmp dword [esp + 0x14], eax
setne al
lea eax, [eax + eax - 1]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
push ebx
push eax
push edi
push ecx
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0044ef0f
mov esp, ebp
pop ebp
ret 0xc