Function at 0x414460
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x144
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
cmp dword [esi + 0x1c], ebp
je 0x415190
mov ecx, dword [0x4cab58]
mov edi, dword [0x4caa90]
cmp ecx, ebp
mov ebx, 1
je 0x414494
cmp edi, ebp
jne 0x414494
mov eax, ebx
jmp 0x414496
xor eax, eax
cmp ecx, ebp
mov dword [esp + 0x28], eax
je 0x4144a7
cmp edi, 2
mov dword [esp + 0x78], ebx
je 0x4144ab
mov dword [esp + 0x78], ebp
mov edx, dword [0x4cab50]
cmp edx, ebp
mov edx, dword [0x4caa8c]
jne 0x4144d1
cmp eax, ebp
jne 0x4144cb
cmp dword [esi + 0x2c0], ebp
je 0x4144cb
cmp edx, ebp
je 0x4144d1
mov dword [esp + 0x1c], ebp
jmp 0x4144d5
mov dword [esp + 0x1c], ebx
cmp ecx, ebp
je 0x4144e1
cmp edi, ebp
mov dword [esp + 0x20], ebx
je 0x4144e5
mov dword [esp + 0x20], ebp
cmp ecx, ebp
je 0x4144ee
cmp edi, 2
je 0x4144fb
cmp dword [esi + 0x2c0], ebp
je 0x414501
cmp edx, 2
jne 0x414501
mov dword [esp + 0x24], ebx
jmp 0x414505
mov dword [esp + 0x24], ebp
mov ecx, dword [esi + 4]
lea eax, [esp + 0x10c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
lea edi, [eax + 1]
mov eax, dword [0x4cab40]
cmp eax, ebp
lea ebx, [edx + 1]
jne 0x41453f
mov ecx, dword [esi + 0x10]
push ebp
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x4cab44], ebp
jne 0x414552
mov edx, dword [esi + 0x14]
push ebp
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x4cab50], ebp
jne 0x414565
mov eax, dword [esi + 0xc]
push ebp
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
cmp eax, ebp
jne 0x41457e
mov ecx, dword [esi + 0x1c]
push ebp
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
cmp dword [0x4cab4c], ebp
jne 0x414596
mov edx, dword [esi + 0x18]
push ebp
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
cmp dword [esp + 0x1c], ebp
jne 0x4145ac
mov eax, dword [esi + 0x24]
push ebp
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
cmp dword [esp + 0x20], ebp
jne 0x4145c2
mov ecx, dword [esi + 0x28]
push ebp
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
cmp dword [esp + 0x24], ebp
jne 0x4145d8
mov edx, dword [esi + 0x2c]
push ebp
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
cmp dword [esi + 0x2c0], ebp
jne 0x4145f0
mov eax, dword [esi + 0x20]
push ebp
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4cab58]
mov ecx, dword [esi + 0x2c0]
mov edx, dword [0x4cab50]
neg ecx
sbb ecx, ecx
mov dword [esp + 0x7c], ebp
and ecx, 0x32
mov dword [esp + 0x80], ebp
mov dword [esp + 0x2c], ecx
mov ecx, edx
neg ecx
sbb ecx, ecx
mov dword [esp + 0xb4], ebp
and ecx, 0x32
mov dword [esp + 0xb8], ebp
neg edx
sbb edx, edx
mov dword [esp + 0x8c], ebp
and edx, 0x64
mov dword [esp + 0x90], ebp
mov dword [esp + 0x88], edx
mov edx, eax
neg edx
sbb edx, edx
and edx, 0x32
neg eax
sbb eax, eax
and eax, 0x1a
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x41468e
mov eax, dword [0x4caa8c]
mov ebp, dword [esp + 0x2c]
neg eax
sbb eax, eax
mov dword [esp + 0x7c], ecx
not eax
and eax, ebp
cmp ecx, eax
jg 0x41467e
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x88]
xor ebp, ebp
mov dword [esp + 0x80], ecx
cmp dword [esp + 0x20], ebp
je 0x4146a6
mov eax, dword [esp + 0x64]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
je 0x4146df
mov eax, dword [esp + 0x78]
cmp eax, ebp
jne 0x4146c7
xor edx, edx
cmp dword [0x4caa8c], 2
setne dl
dec edx
and edx, dword [esp + 0x2c]
neg eax
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x64]
sbb eax, eax
and eax, edx
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [0x4caaa0]
neg edx
sbb edx, edx
mov dword [esp + 0x18], ebp
and edx, eax
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
and eax, dword [0x4caaa4]
mov dword [esp + 0x60], eax
mov eax, ecx
mov ecx, dword [0x4caaa8]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esi + 0x3d0], ecx
mov ecx, ebx
sub ecx, eax
lea eax, [ecx - 0x64]
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
mov dword [esp + 0x10], eax
mov dword [esi + 0x3d4], eax
je 0x414769
mov ecx, dword [0x4caaa0]
cmp eax, ecx
jl 0x414741
mov eax, ecx
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jle 0x414753
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
jmp 0x414769
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4caaa0]
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x414769
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esi + 0x3dc], eax
add ecx, edx
mov dword [esp + 0x14], ecx
mov dword [esi + 0x3d8], ecx
cmp dword [0x4cab50], ebp
je 0x4147c9
mov eax, dword [0x4caaa4]
mov ecx, dword [0x4caaa0]
add eax, ecx
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov dword [esp + 0x84], eax
jge 0x4147a8
mov eax, ecx
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jg 0x4147bf
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
cmp ecx, eax
jge 0x4147c1
mov eax, ecx
sub eax, dword [0x4caaa0]
jmp 0x4147f4
mov ecx, dword [0x4caaa4]
cmp eax, ecx
jl 0x4147d5
mov eax, ecx
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jle 0x4147e3
mov dword [esp + 0x10], ecx
jmp 0x4147f8
mov ecx, dword [esp + 0x10]
mov eax, dword [0x4caaa4]
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x4147f8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x8c]
lea edx, [eax + edx + 0x64]
mov eax, ebx
sub eax, ecx
mov ecx, ebx
mov dword [esi + 0x3e0], edx
mov dword [esi + 0x3e4], eax
sub ecx, dword [0x4caaa8]
cmp eax, ecx
mov dword [esp + 0x60], ecx
jge 0x414829
mov ecx, eax
cmp edx, ecx
jle 0x414831
mov eax, edx
jmp 0x41483b
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jl 0x41483b
mov eax, ecx
mov ecx, ebx
sub ecx, eax
mov eax, dword [0x4cab4c]
mov dword [esp + 0x84], ecx
xor ecx, ecx
cmp eax, ebp
mov dword [esp + 0x14], ecx
je 0x4148ad
mov ecx, dword [esi + 0x18]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
mov edx, dword [esi + 0x18]
push ebp
push ebp
push 0x31
push edx
mov dword [esp + 0x24], eax
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x11c]
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edx, dword [esp + 0x11c]
lea ecx, [edx + 6]
mov dword [esp + 0x14], ecx
mov eax, dword [esi + 0x3c4]
mov dword [esp + 0xb0], ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
sar eax, 1
sub edx, eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x84]
mov ecx, ebx
mov dword [esp + 0xcc], ebp
sub ecx, edx
mov dword [esp + 0xd0], ebp
add ecx, eax
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
cmp ecx, ebp
mov dword [esp + 0xd8], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebx
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xf8], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ebp
mov dword [esp + 0x108], ebp
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
je 0x4149dd
mov ecx, dword [esp + 0x18]
cmp ecx, ebp
je 0x4149c9
lea edx, [ecx + eax]
mov dword [esp + 0x50], edx
jmp 0x4149cd
mov dword [esp + 0x50], ebp
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], ebp
add ecx, edx
sub ecx, eax
mov dword [esp + 0x58], ecx
cmp dword [0x4cab40], ebp
je 0x414a8d
mov eax, dword [esi + 0x10]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, edi
mov eax, dword [esi + 0x10]
and ecx, 0xffff
mov edx, ebx
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
push ecx
push 0
push 5
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0x10]
lea ecx, [esp + 0xcc]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 4]
mov ebp, dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [esp + 0xcc]
push eax
push ecx
call ebp
mov eax, dword [esi + 4]
lea edx, [esp + 0xd4]
push edx
push eax
call ebp
mov ebp, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub ebp, edx
lea ecx, [esp + 0xa4]
push ebp
push 0
push ecx
call dword [sym.imp.USER32.dll_OffsetRect]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xf0], ebp
lea eax, [ebp + edx]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
add eax, ebp
xor ebp, ebp
mov dword [esp + 0x54], eax
cmp dword [0x4cab44], ebp
je 0x414b0d
mov ecx, dword [esi + 0x14]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, edi
mov ecx, dword [esi + 0x14]
and edx, 0xffff
mov eax, ebx
shl edx, 0x10
and eax, 0xffff
or edx, eax
push edx
push ebp
push 5
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x14]
lea edx, [esp + 0x68]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x68]
push ecx
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [esi + 4]
lea eax, [esp + 0x70]
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
sub ecx, eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x1c], ebp
je 0x414b56
mov eax, dword [esi + 0x3c4]
mov ecx, dword [esp + 0x18]
cdq
sub eax, edx
mov edx, dword [esp + 0x6c]
sar eax, 1
push edx
lea edx, [ecx + eax]
sub ecx, eax
push edx
mov edx, dword [esp + 0xe0]
push edx
lea eax, [esp + 0xc8]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x40], eax
mov dword [esp + 0xa4], eax
cmp dword [esp + 0x20], ebp
je 0x414baa
mov eax, dword [esi + 0x3c4]
mov ecx, dword [esp + 0x6c]
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x1c]
sar eax, 1
add edx, ecx
add edx, eax
push edx
mov edx, dword [esp + 0xe0]
push edx
mov edx, dword [esp + 0x1c]
add edx, ecx
sub edx, eax
lea eax, [esp + 0x108]
push edx
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x104]
mov dword [esp + 0x40], eax
mov dword [esp + 0xa4], eax
cmp dword [esp + 0x24], ebp
je 0x414bf6
mov eax, dword [esi + 0x3c4]
mov ecx, dword [esp + 0x6c]
cdq
sub eax, edx
push ecx
mov ecx, dword [esp + 0x88]
mov edx, ebx
sar eax, 1
sub edx, ecx
add edx, eax
push edx
mov edx, dword [esp + 0xb8]
push edx
mov edx, ebx
sub edx, ecx
sub edx, eax
lea eax, [esp + 0xa0]
push edx
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x48], ecx
cmp dword [esi + 0x2c0], ebp
je 0x414f08
mov eax, dword [0x4caa8c]
sub eax, ebp
je 0x414dcb
dec eax
je 0x414d10
dec eax
jne 0x414f08
cmp dword [esp + 0x78], ebp
je 0x414cd5
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x2c]
add edx, eax
mov eax, edi
mov dword [esi + 0x3c8], edx
sub eax, ecx
mov ecx, edi
mov dword [esi + 0x3cc], eax
sub ecx, dword [0x4caa9c]
cmp eax, ecx
mov dword [esp + 0x60], ecx
jge 0x414c5a
mov ecx, eax
cmp edx, ecx
jle 0x414c62
mov eax, edx
jmp 0x414c6c
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jl 0x414c6c
mov eax, ecx
mov ecx, edi
sub ecx, eax
mov eax, dword [esi + 0x3c4]
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, ecx
sub edi, ecx
add edx, eax
sub edi, eax
mov eax, dword [esp + 0x9c]
push edx
push ebx
push edi
lea ecx, [esp + 0x3c]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
add eax, 0xfffffffc
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x54]
add ecx, 0xfffffffc
add edx, 4
push ecx
add eax, 4
push edx
lea ecx, [esi + 0x3b4]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetRect]
jmp 0x414f08
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0xb0]
add edx, 0xfffffffc
push edx
mov edx, dword [esp + 0xa0]
add eax, 0xfffffffc
add ecx, 4
push eax
add edx, 4
push ecx
lea eax, [esi + 0x3b4]
push edx
push eax
call dword [sym.imp.USER32.dll_SetRect]
jmp 0x414f08
mov ecx, dword [esp + 0x44]
mov eax, edi
lea edx, [ecx + 0x64]
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov dword [esi + 0x3c8], edx
mov dword [esi + 0x3cc], eax
mov ebx, dword [0x4caa98]
mov ecx, edi
sub ecx, ebx
mov ebx, eax
cmp eax, ecx
jl 0x414d3d
mov ebx, ecx
cmp edx, ebx
jle 0x414d45
mov eax, edx
jmp 0x414d4b
cmp eax, ecx
jl 0x414d4b
mov eax, ecx
mov ecx, edi
sub ecx, eax
mov eax, dword [esi + 0x3c4]
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, ecx
sub edi, ecx
add edx, eax
sub edi, eax
mov eax, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x34]
push edx
push edi
mov edi, dword [sym.imp.USER32.dll_SetRect]
push eax
push ecx
call edi
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
add eax, 0xfffffffc
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
add ecx, 0xfffffffc
add edx, 4
push ecx
add eax, 4
push edx
lea ecx, [esi + 0x3b4]
push eax
push ecx
call edi
cmp dword [esp + 0x28], ebp
je 0x414f08
mov edx, dword [esp + 0x40]
mov dword [esp + 0x30], edx
jmp 0x414f08
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xb8]
cmp ecx, eax
jle 0x414ddf
mov eax, ecx
mov ecx, dword [esp + 0x44]
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x2c]
mov eax, edi
mov dword [esi + 0x3c8], edx
sub eax, ecx
mov ecx, edi
mov dword [esi + 0x3cc], eax
mov ebx, dword [0x4caa94]
sub ecx, ebx
mov ebx, eax
cmp eax, ecx
jl 0x414e0c
mov ebx, ecx
cmp edx, ebx
jle 0x414e14
mov eax, edx
jmp 0x414e1a
cmp eax, ecx
jl 0x414e1a
mov eax, ecx
mov ebx, edi
sub ebx, eax
mov eax, dword [0x4cab50]
cmp eax, ebp
jne 0x414e68
cmp dword [esp + 0x28], ebp
jne 0x414e68
mov edx, dword [esp + 0x6c]
mov eax, dword [esi + 0x3c4]
mov edi, dword [esp + 0x18]
add edx, 0xfffffffc
push edx
mov ecx, edi
cdq
sub eax, edx
mov edx, dword [esp + 0xdc]
sar eax, 1
sub ecx, eax
add edx, 2
sub ecx, 4
lea eax, [esi + 0x3b4]
push ecx
push edx
push 4
push eax
call dword [sym.imp.USER32.dll_SetRect]
jmp 0x414ec9
mov eax, dword [esi + 0x3c4]
mov ecx, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
sar eax, 1
sub ecx, ebx
sub edi, ebx
add ecx, eax
sub edx, eax
push ecx
sub edi, eax
push edx
push edi
mov edi, dword [sym.imp.USER32.dll_SetRect]
lea eax, [esp + 0x3c]
push ebp
push eax
call edi
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x3c]
add edx, 0xfffffffc
add eax, 0xfffffffc
push edx
add ecx, 4
push eax
push ecx
lea edx, [esi + 0x3b4]
push 4
push edx
call edi
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x28], ebp
je 0x414f08
mov eax, dword [esp + 0x34]
mov ecx, dword [esi + 0x3c4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xc8], eax
mov eax, ecx
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x10]
sar edx, 1
mov ebx, eax
add eax, edi
sub ebx, edx
sub eax, ecx
add ebx, edi
sub eax, 4
mov dword [esp + 0x38], ebx
mov dword [esi + 0x3bc], eax
push 0xa
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov ebx, dword [sym.imp.USER32.dll_DeferWindowPos]
mov edi, eax
cmp dword [0x4cab50], ebp
je 0x414f45
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf0]
sub eax, ecx
push 0x54
push eax
mov eax, dword [esp + 0xfc]
push eax
push ecx
mov ecx, dword [esi + 0xc]
push ebp
push ebp
push ecx
push edi
call ebx
cmp dword [0x4cab4c], ebp
je 0x414f7b
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
sub edx, eax
push 0x54
push edx
mov edx, dword [esp + 0xb4]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x18]
push ecx
push ebp
push eax
push edi
call ebx
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
sub eax, edx
push 0x54
push eax
mov eax, dword [esp + 0x50]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 8]
push ebp
push ecx
push edi
call ebx
cmp dword [0x4cab58], ebp
je 0x414fc7
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
sub eax, ecx
push 0x54
push eax
mov eax, dword [esp + 0x60]
sub eax, edx
push eax
push ecx
push edx
mov edx, dword [esi + 0x1c]
push ebp
push edx
push edi
call ebx
cmp dword [esp + 0x1c], ebp
je 0x414ffb
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
sub ecx, eax
push 0x54
push ecx
mov ecx, dword [esp + 0xc4]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x24]
push ecx
push ebp
push eax
push edi
call ebx
cmp dword [esp + 0x20], ebp
je 0x41502f
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
sub ecx, eax
push 0x54
push ecx
mov ecx, dword [esp + 0x104]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x28]
push ecx
push ebp
push eax
push edi
call ebx
cmp dword [esp + 0x24], ebp
je 0x415063
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
sub ecx, eax
push 0x54
push ecx
mov ecx, dword [esp + 0x9c]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x2c]
push ecx
push ebp
push eax
push edi
call ebx
cmp dword [esi + 0x2c0], ebp
je 0x41508d
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
sub ecx, eax
push 0x54
push ecx
mov ecx, dword [esp + 0x38]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x20]
push ecx
push ebp
push eax
push edi
call ebx
push edi
mov ecx, esi
call fcn.004151a0
push edi
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov eax, dword [esp + 0x1c]
mov edi, dword [sym.imp.USER32.dll_MapWindowPoints]
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
cmp eax, ebp
je 0x4150e3
mov edx, dword [esi + 0x24]
lea ecx, [esp + 0xdc]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 4]
lea eax, [esp + 0xdc]
push 2
push eax
push ecx
push ebp
call edi
mov eax, dword [esi + 4]
lea edx, [esp + 0xdc]
push 1
push edx
push eax
call ebx
cmp dword [esp + 0x20], ebp
je 0x41511c
mov edx, dword [esi + 0x28]
lea ecx, [esp + 0xdc]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 4]
lea eax, [esp + 0xdc]
push 2
push eax
push ecx
push ebp
call edi
mov eax, dword [esi + 4]
lea edx, [esp + 0xdc]
push 1
push edx
push eax
call ebx
cmp dword [esp + 0x24], ebp
je 0x415155
mov edx, dword [esi + 0x2c]
lea ecx, [esp + 0xdc]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 4]
lea eax, [esp + 0xdc]
push 2
push eax
push ecx
push ebp
call edi
mov eax, dword [esi + 4]
lea edx, [esp + 0xdc]
push 1
push edx
push eax
call ebx
cmp dword [esi + 0x2c0], ebp
je 0x415190
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0xdc]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 4]
lea eax, [esp + 0xdc]
push 2
push eax
push ecx
push ebp
call edi
mov eax, dword [esi + 4]
lea edx, [esp + 0xdc]
push 1
push edx
push eax
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret