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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x47c944]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push esi
push edi
mov esi, ecx
call fcn.0040cff0
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x260]
xor edi, edi
push edi
push edi
push edi
push eax
mov ebx, 1
push ebx
push edi
push ecx
mov dword [esi + 0x78], 0x1e
mov dword [esi + 0x88], 4
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], edi
mov dword [esi + 0x84], edi
call fcn.0040d100
mov edx, dword [esi + 0x274]
push edx
call fcn.0040ce60
xor eax, eax
cmp eax, edi
jl 0x40b489
mov ecx, dword [esi + 0x270]
cmp eax, dword [ecx - 0xc]
jge 0x40b489
lea eax, [ecx + eax*2]
push 0xa
push eax
call fcn.004460f0
add esp, 8
cmp eax, edi
je 0x40b489
sub eax, dword [esi + 0x270]
sar eax, 1
cmp eax, 0xffffffff
je 0x40b489
add dword [esi + 0x27c], ebx
add eax, ebx
jmp 0x40b451
mov ecx, dword [esi + 0x20]
xor eax, eax
push ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.004264d3
mov edx, dword [esi + 0x20]
push edi
push edi
push 0x31
push edx
mov ebx, eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.004267a5
lea ecx, [esp + 0x38]
push ecx
mov dword [esi + 0x280], eax
mov edx, dword [eax + 4]
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [esi + 0x280]
mov dword [esp + 0x48], 0x190
mov eax, dword [ebx]
mov edx, dword [eax + 0x28]
push ecx
mov ecx, ebx
call edx
mov edx, dword [esi + 0x270]
push 0x400
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x3c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x68]
push 0xffffffffffffffff
push edx
mov ecx, ebx
call eax
mov edx, dword [esi + 0x268]
lea ecx, [esp + 0x1c]
push ecx
push 0x18
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0xc]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x20], eax
lea eax, [eax + eax + 0x3c]
cmp eax, ecx
jge 0x40b562
add ecx, 0x3c
jmp 0x40b564
mov ecx, eax
mov eax, dword [esi + 0x27c]
add eax, 0x1e
lea eax, [eax + eax*2]
sub eax, dword [esp + 0x10]
push 6
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x28]
push eax
push ecx
push edi
push edi
push edi
mov ecx, esi
call fcn.004227fa
mov edx, dword [ebx]
mov eax, dword [esp + 0x34]
mov edx, dword [edx + 0x28]
push eax
mov ecx, ebx
call edx
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x20]
push eax
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [esi + 0x20]
lea edx, [esp + 0xc]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esi + 0x278]
push 0x1388
lea ebx, [esi + 0x284]
push esi
cmp eax, 4
jne 0x40b6b9
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
mov ecx, ebx
cdq
sub eax, edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x13c]
sar eax, 1
sub eax, 0xa
mov dword [esp + 0x1c], eax
sub eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
sub eax, 0x1e
mov dword [esp + 0x20], eax
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push 0x50000000
push 0x46adb4
call edx
mov eax, dword [esi + 0x268]
push 1
push eax
call fcn.0040c5a0
push 1
push 0x46bde8
lea ecx, [ebx + 0x6c]
call fcn.004042e0
mov ecx, dword [ebx + 0x20]
push 1
push edi
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push ecx
call edi
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
lea ecx, [edx + eax + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [edx + eax + 0x14]
mov edx, dword [esi + 0x304]
mov edx, dword [edx + 0x13c]
push 0x1389
push esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
push eax
lea ebx, [esi + 0x304]
push 0x50000000
mov dword [esp + 0x1c], ecx
push 0x46adb4
mov ecx, ebx
call edx
mov eax, dword [esi + 0x26c]
push 1
push eax
call fcn.0040c5a0
push 1
push 0x46bdec
lea ecx, [ebx + 0x6c]
call fcn.004042e0
mov ecx, dword [ebx + 0x20]
push 1
push 0
push ecx
call edi
jmp 0x40b80a
cmp eax, 1
mov eax, dword [esp + 0x1c]
jne 0x40b799
sub eax, dword [esp + 0x14]
mov ecx, ebx
cdq
sub eax, edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x13c]
sar eax, 1
sub eax, 0xa
mov dword [esp + 0x1c], eax
sub eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
sub eax, 0x1e
mov dword [esp + 0x20], eax
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push 0x50000000
push 0x46adb4
call edx
mov eax, dword [esi + 0x268]
push 1
push eax
call fcn.0040c5a0
push 2
push 0x46bdf0
lea ecx, [ebx + 0x6c]
call fcn.004042e0
mov ecx, dword [ebx + 0x20]
push 1
push edi
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push ecx
call edi
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
lea ecx, [edx + eax + 0x14]
mov edx, dword [esp + 0x14]
lea eax, [edx + eax + 0x14]
mov edx, dword [esi + 0x304]
mov edx, dword [edx + 0x13c]
push 0x1389
push esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
push eax
lea ebx, [esi + 0x304]
push 0x50000000
mov dword [esp + 0x1c], ecx
push 0x46adb4
mov ecx, ebx
call edx
mov eax, dword [esi + 0x26c]
push 1
push eax
call fcn.0040c5a0
push 2
push 0x46bdf8
jmp 0x40b6a2
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x13c]
sar eax, 1
mov dword [esp + 0x14], eax
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
sub eax, 0x1e
mov dword [esp + 0x20], eax
sub eax, dword [esp + 0x2c]
mov ecx, ebx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push 0x50000000
push 0x46bdf0
call edx
mov eax, dword [esi + 0x268]
push 1
push eax
call fcn.0040c5a0
push 2
push 0x46bdf0
lea ecx, [ebx + 0x6c]
call fcn.004042e0
mov ecx, dword [ebx + 0x20]
push 1
push edi
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00445369
mov esp, ebp
pop ebp
ret