Function at 0x4852a0
Capabilities:
Check for time delay via gettickcount
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x675fbd
mov eax, dword fs:[0]
push eax
sub esp, 0x780
push esi
push edi
push ecx
lea edi, [ebp - 0x78c]
mov ecx, 0x1e0
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x730b1c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x84], 0
jne 0x4852f7
xor al, al
jmp 0x4891b9
mov dword [ebp - 0x18], 0
jmp 0x485309
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2e4
call fcn.0048d320
cmp dword [ebp - 0x18], eax
jge 0x485454
mov byte [ebp - 0x1d], 0
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2e4
call fcn.0048d3a0
mov dword [ebp - 0x764], eax
mov esi, esp
lea eax, [ebp - 0x1d]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x764]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x28], eax
movzx ecx, byte [ebp - 0x1d]
test ecx, ecx
je 0x48544f
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x28]
mov dword [edx], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x768], ecx
cmp dword [ebp - 0x768], 0x203
ja 0x4853ad
cmp dword [ebp - 0x768], 0x200
jae 0x4853be
cmp dword [ebp - 0x768], 0x7b
je 0x4853f6
jmp 0x485448
cmp dword [ebp - 0x768], 0x20a
je 0x4853f6
jmp 0x485448
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0xfc], ecx
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x100], edx
jmp 0x485448
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x40], eax
mov esi, esp
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x44]
mov dword [ecx + 0xfc], edx
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x100], eax
mov al, 1
jmp 0x4891b9
jmp 0x485300
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14d]
test edx, edx
je 0x4854f2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x76c], eax
cmp dword [ebp - 0x76c], 0x83
je 0x4854e2
cmp dword [ebp - 0x76c], 0x85
je 0x4854e2
cmp dword [ebp - 0x76c], 0x86
je 0x485495
jmp 0x4854f2
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x4854e0
cmp dword [ebp + 0xc], 0
jne 0x4854c4
mov dword [ebp - 0x770], 1
jmp 0x4854ce
mov dword [ebp - 0x770], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x770]
mov dword [eax], ecx
mov al, 1
jmp 0x4891b9
jmp 0x4854f2
mov edx, dword [ebp + 0x14]
mov dword [edx], 0
mov al, 1
jmp 0x4891b9
mov eax, dword [ebp + 8]
mov dword [ebp - 0x774], eax
cmp dword [ebp - 0x774], 0x111
ja 0x48554a
cmp dword [ebp - 0x774], 0x111
je 0x489131
mov ecx, dword [ebp - 0x774]
sub ecx, 5
mov dword [ebp - 0x774], ecx
cmp dword [ebp - 0x774], 0xfd
ja case.default.0x4855dc
mov edx, dword [ebp - 0x774]
movzx eax, byte [edx + 0x4895f8]
jmp dword [eax*4 + 0x4895c0]
cmp dword [ebp - 0x774], 0x200
ja 0x48559b
cmp dword [ebp - 0x774], 0x200
je 0x487cae
cmp dword [ebp - 0x774], 0x113
je 0x4872e5
cmp dword [ebp - 0x774], 0x133
je 0x489175
cmp dword [ebp - 0x774], 0x138
je 0x489175
jmp case.default.0x4855dc
cmp dword [ebp - 0x774], 0x20a
ja 0x4855e3
cmp dword [ebp - 0x774], 0x20a
je 0x488918
mov ecx, dword [ebp - 0x774]
sub ecx, 0x201
mov dword [ebp - 0x774], ecx
cmp dword [ebp - 0x774], 3
ja case.default.0x4855dc
mov edx, dword [ebp - 0x774]
jmp dword [edx*4 + 0x4896f8]
cmp dword [ebp - 0x774], 0x318
ja 0x485624
cmp dword [ebp - 0x774], 0x318
je 0x486f96
cmp dword [ebp - 0x774], 0x2a1
je 0x4874f2
cmp dword [ebp - 0x774], 0x2a3
je 0x487a82
jmp case.default.0x4855dc
cmp dword [ebp - 0x774], 0x8001
je 0x485635
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x2bc], 0
mov dword [ebp - 0x4c], 0
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x320
call fcn.0048d360
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x48574e
push 1
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x320
call fcn.0048d280
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx + 0x108], 0
je 0x4856ae
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x108]
add ecx, 0x38
call fcn.00490a50
movzx eax, al
test eax, eax
je 0x4856ae
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x108]
add ecx, 0x38
call fcn.00490d50
mov dword [ebp - 0x50], 0
jmp 0x4856c0
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c0
call fcn.0048d320
cmp dword [ebp - 0x50], eax
jge 0x48570c
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c0
call fcn.0048d3a0
mov dword [ebp - 0x778], eax
mov esi, esp
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x778]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x778]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00611b50
jmp 0x4856b7
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0x758], edx
cmp dword [ebp - 0x758], 0
je 0x48573f
push 1
mov ecx, dword [ebp - 0x758]
call fcn.0048a720
mov dword [ebp - 0x77c], eax
jmp 0x485749
mov dword [ebp - 0x77c], 0
jmp 0x485646
mov dword [ebp - 0x54], 0
jmp 0x485760
mov eax, dword [ebp - 0x54]
add eax, 1
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x314
call fcn.0048d320
cmp dword [ebp - 0x54], eax
jge 0x4857a8
mov ecx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x314
call fcn.0048d3a0
mov dword [ebp - 0x780], eax
mov edx, dword [ebp - 0x780]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x780]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00611b50
jmp 0x485757
mov ecx, dword [ebp - 0x14]
add ecx, 0x314
call fcn.0048cf00
jmp case.default.0x4855dc
mov dword [ebp - 0x78], 0
xor eax, eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xfc]
mov eax, dword [ecx + 0x100]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
call fcn.0048a770
mov word [ebp - 0x62], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xec], 0
je 0x485851
mov dword [ebp - 0x78], 0xa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xec]
mov dword [ebp - 0x74], eax
mov esi, esp
lea ecx, [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xec]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xec]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xf0], 0
je 0x485899
mov dword [ebp - 0x78], 0xe
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xf0]
mov dword [ebp - 0x74], eax
mov esi, esp
lea ecx, [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xf0]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xf0]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
push 1
push 0
mov ecx, dword [ebp - 0x14]
call fcn.00483030
mov esi, esp
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0x84]
jne 0x485934
mov esi, esp
push 4
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x80], eax
mov esi, esp
push 0xfffffffffffffff0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_GetWindowLongW]
cmp esi, esp
call fcn.00611b50
and eax, 0x40000000
je 0x48591b
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x485934
mov esi, esp
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xac], 0
je 0x485966
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xac], 0
jmp case.default.0x4855dc
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 1
mov al, 1
jmp 0x4891b9
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe4], 0
jne 0x485a0d
mov dword [ebp - 0xc4], 0
push 0x3c
push 0
lea eax, [ebp - 0xc0]
push eax
call fcn.00614d30
add esp, 0xc
mov esi, esp
lea ecx, [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
cmp esi, esp
call fcn.00611b50
push 0xff000000
lea ecx, [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x88]
push eax
call fcn.0049ab70
add esp, 0xc
mov esi, esp
lea ecx, [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
cmp esi, esp
call fcn.00611b50
mov al, 1
jmp 0x4891b9
mov dword [ebp - 0xdc], 0
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], ecx
mov esi, esp
lea edx, [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0xf4], 0
xor edx, edx
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x14d]
test ecx, ecx
je 0x485b7b
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x14b], 1
mov eax, dword [ebp - 0x14]
add eax, 0x164
mov ecx, dword [eax]
mov dword [ebp - 0xf4], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xf0], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xec], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x14]
add eax, 0x164
mov esi, esp
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
cmp esi, esp
call fcn.00611b50
test eax, eax
je 0x485b30
mov dword [ebp - 0x13c], 0
push 0x3c
push 0
lea ecx, [ebp - 0x138]
push ecx
call fcn.00614d30
add esp, 0xc
mov esi, esp
lea edx, [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
cmp esi, esp
call fcn.00611b50
mov esi, esp
lea edx, [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
cmp esi, esp
call fcn.00611b50
mov al, 1
jmp 0x4891b9
mov edx, dword [ebp - 0xec]
cmp edx, dword [ebp - 0xd4]
jle 0x485b4a
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xe8]
cmp ecx, dword [ebp - 0xd0]
jle 0x485b64
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xe8], edx
push 0x10
push 0
mov eax, dword [ebp - 0x14]
add eax, 0x164
push eax
call fcn.00614d30
add esp, 0xc
jmp 0x485ba8
mov esi, esp
push 0
lea ecx, [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_GetUpdateRect]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x485ba8
mov al, 1
jmp 0x4891b9
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14a]
test edx, edx
je 0x485bc0
push 1
mov ecx, dword [ebp - 0x14]
call fcn.00483480
push 1
mov ecx, dword [ebp - 0x14]
call fcn.00483c50
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x149]
test ecx, ecx
je 0x485fb0
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x149], 0
mov esi, esp
lea eax, [ebp - 0xdc]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x485fab
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0xe4]
call fcn.00493e70
movzx edx, al
test edx, edx
je 0x485dc8
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x8c], 0
je 0x485c72
mov esi, esp
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x8c]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x90], 0
je 0x485c97
mov esi, esp
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x90]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x94], 0
je 0x485cbc
mov esi, esp
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x94]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x9c], 0
je 0x485ce1
mov esi, esp
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x9c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x8c], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x90], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x94], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x9c], 0
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x14d]
test eax, eax
je 0x485d77
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x154]
add edx, dword [ecx + 0x150]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x150]
add ecx, dword [eax + 0x154]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14c]
sub eax, dword [edx + 0x158]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x148]
sub edx, dword [ecx + 0x15c]
mov dword [ebp - 0x148], edx
mov esi, esp
push 1
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [eax], ecx
mov edx, dword [ebp - 0x150]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x148]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xe4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xe4]
mov edx, dword [eax + 0x4c]
call edx
cmp esi, esp
call fcn.00611b50
jmp 0x485f3f
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x32c
call fcn.0048cf00
mov esi, esp
push reloc.WS2_32.dll_htons
push 0
push 0x48a130
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xe4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xe4]
mov edx, dword [eax + 0x110]
call edx
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x160], 0
jmp 0x485e2c
mov eax, dword [ebp - 0x160]
add eax, 1
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x32c
call fcn.0048d320
cmp dword [ebp - 0x160], eax
jge 0x485f3f
mov ecx, dword [ebp - 0x160]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x32c
call fcn.0048d3a0
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x15c]
mov edx, dword [eax + 0x108]
call edx
cmp esi, esp
call fcn.00611b50
movzx eax, al
test eax, eax
jne 0x485ede
mov esi, esp
push 1
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov edi, esp
mov ecx, dword [ebp - 0x15c]
mov eax, dword [edx + 0x40]
call eax
cmp edi, esp
call fcn.00611b50
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [edx + 0x4c]
call eax
cmp esi, esp
call fcn.00611b50
jmp 0x485f3a
mov esi, esp
push 1
mov edi, esp
lea ecx, [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [eax + 0x44]
call edx
cmp edi, esp
call fcn.00611b50
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [edx + 0x4c]
call eax
cmp esi, esp
call fcn.00611b50
jmp 0x485e1d
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x148]
test edx, edx
je 0x485fab
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x148], 0
push 1
push 0
push 0
push 0
push str.windowinit
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe4]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.00484180
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x14d]
test ecx, ecx
je 0x485fab
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x160]
test eax, eax
je 0x485fab
mov ecx, dword [ebp - 0x14]
call fcn.0047c850
push 0
mov ecx, dword [ebp - 0x14]
call fcn.00483c50
mov al, 1
jmp 0x4891b9
jmp 0x4860e3
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14d]
test edx, edx
je 0x4860e3
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x160]
test ecx, ecx
je 0x4860e3
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
je 0x486043
mov ecx, dword [ebp - 0x17c]
sub ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x180]
imul ecx, edx
shl ecx, 2
push ecx
push 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x98]
push ecx
call fcn.00614d30
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x184]
add eax, dword [edx + 0x150]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x180]
add edx, dword [ecx + 0x154]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x17c]
sub ecx, dword [eax + 0x158]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x178]
sub eax, dword [edx + 0x15c]
mov dword [ebp - 0x178], eax
mov esi, esp
push 1
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x184]
mov dword [ecx], edx
mov eax, dword [ebp - 0x180]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x17c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x178]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe4]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xe4]
mov eax, dword [edx + 0x4c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14b]
test edx, edx
je 0x486216
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x94], 0
jne 0x486216
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x88]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x8c], eax
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x14d]
test eax, eax
je 0x486176
mov ecx, dword [ebp - 0x14]
add ecx, 0x98
push ecx
mov edx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x88]
push edx
call fcn.00496ef0
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x94], eax
jmp 0x4861b2
mov edx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0xd8]
mov esi, esp
push edx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x88]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x94], eax
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x8c], 0
jne 0x4861e4
push str.m_hDcOffscreen
push 0x67b198
push 0
push 0x3a5
push 0x67b1a0
push 2
call fcn.00619920
add esp, 0x18
cmp eax, 1
jne 0x4861e4
int3
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x94], 0
jne 0x486216
push str.m_hbmpOffscreen
push 0x67b1e8
push 0
push 0x3a6
push 0x67b1f0
push 2
call fcn.00619920
add esp, 0x18
cmp eax, 1
jne 0x486216
int3
mov dword [ebp - 0x1cc], 0
push 0x3c
push 0
lea eax, [ebp - 0x1c8]
push eax
call fcn.00614d30
add esp, 0xc
mov esi, esp
lea ecx, [ebp - 0x1cc]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14b]
test edx, edx
je 0x486ece
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x94]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x8c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x1d4], eax
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x8c]
push edx
call dword [sym.imp.GDI32.dll_SaveDC]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x14d]
test ecx, ecx
je 0x48637c
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x280], 0
jne 0x48637c
mov dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xe8]
mov dword [ebp - 0x1e0], eax
jmp 0x4862fc
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0xf0]
cmp dword [ebp - 0x1e0], edx
jge 0x48637c
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x1e4], eax
jmp 0x48632d
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
cmp edx, dword [ebp - 0xec]
jge 0x486377
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xdc]
imul eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x98]
lea eax, [edx + eax*4]
mov ecx, dword [ebp - 0x1e4]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
mov dword [eax], 0
jmp 0x48631e
jmp 0x4862ed
mov esi, esp
push 0
lea ecx, [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe4]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xe4]
mov eax, dword [edx + 0x138]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14d]
test edx, edx
je 0x486707
mov dword [ebp - 0x1e8], 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x2fc
call fcn.0048d320
cmp dword [ebp - 0x1e8], eax
jge 0x486707
mov eax, dword [ebp - 0x1e8]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x2fc
call fcn.0048d3a0
mov dword [ebp - 0x1ec], eax
mov esi, esp
mov ecx, dword [ebp - 0x1ec]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x48644f
push 1
mov edx, dword [ebp - 0x1e8]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2fc
call fcn.0048d280
push 1
mov eax, dword [ebp - 0x1e8]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x308
call fcn.0048d280
jmp 0x4863d0
mov ecx, dword [ebp - 0x1e8]
add ecx, 1
mov dword [ebp - 0x1e8], ecx
mov esi, esp
mov edx, dword [ebp - 0x1ec]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x48647d
jmp 0x4863d0
mov eax, dword [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x200]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.00484630
mov dword [ebp - 0x218], 0
xor edx, edx
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x20c], edx
mov esi, esp
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0xf4]
push ecx
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.USER32.dll_IntersectRect]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x4864de
jmp 0x4863d0
mov dword [ebp - 0x224], 0
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x8c]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x22c], eax
lea edx, [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x1f8]
sub ecx, dword [ebp - 0x200]
push ecx
mov edx, dword [ebp - 0x22c]
push edx
call fcn.00496ef0
add esp, 0x10
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1f4]
sub ecx, dword [ebp - 0x1fc]
imul eax, ecx
shl eax, 2
push eax
push 0
mov edx, dword [ebp - 0x224]
push edx
call fcn.00614d30
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x234], eax
mov esi, esp
push 0x35
mov edx, dword [ebp - 0x22c]
push edx
push 0x317
mov eax, dword [ebp - 0x1ec]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x23c], 0
jmp 0x4865cf
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x1f4]
sub edx, dword [ebp - 0x1fc]
cmp dword [ebp - 0x23c], edx
jge 0x486668
mov dword [ebp - 0x240], 0
jmp 0x486602
mov eax, dword [ebp - 0x240]
add eax, 1
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x1f8]
sub ecx, dword [ebp - 0x200]
cmp dword [ebp - 0x240], ecx
jge 0x486663
mov edx, dword [ebp - 0x1f8]
sub edx, dword [ebp - 0x200]
imul edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x224]
lea ecx, [eax + edx*4]
mov edx, dword [ebp - 0x240]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x238]
cmp dword [ecx], 0
je 0x486661
mov edx, dword [ebp - 0x238]
mov eax, dword [edx]
or eax, 0xff000000
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
jmp 0x4865f3
jmp 0x4865c0
mov esi, esp
push 0xcc0020
push 0
push 0
mov edx, dword [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x1f8]
sub ecx, dword [ebp - 0x200]
push ecx
mov edx, dword [ebp - 0x1fc]
push edx
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x8c]
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov eax, dword [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov edx, dword [ebp - 0x230]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov eax, dword [ebp - 0x22c]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp esi, esp
call fcn.00611b50
jmp 0x4863d0
mov dword [ebp - 0x244], 0
jmp 0x486722
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2f0
call fcn.0048d320
cmp dword [ebp - 0x244], eax
jge 0x486785
mov edx, dword [ebp - 0x244]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2f0
call fcn.0048d3a0
mov dword [ebp - 0x248], eax
mov esi, esp
lea eax, [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x8c]
push edx
mov eax, dword [ebp - 0x248]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x248]
mov eax, dword [edx + 0x154]
call eax
cmp esi, esp
call fcn.00611b50
jmp 0x486713
mov esi, esp
mov ecx, dword [ebp - 0x1d8]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x8c]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14d]
test edx, edx
je 0x486d84
mov dword [ebp - 0x25c], 0
xor eax, eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
mov esi, esp
lea ecx, [ebp - 0x25c]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0xd4]
sub ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0xd8]
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x274], edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x27c]
add edx, dword [ecx + 0x150]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x278]
add ecx, dword [eax + 0x154]
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x274]
sub eax, dword [edx + 0x158]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x270]
sub edx, dword [ecx + 0x15c]
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x98]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xa0]
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x289], 0
mov byte [ebp - 0x28a], 0
mov byte [ebp - 0x28b], 0
mov byte [ebp - 0x28c], 0
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x280], 0
je 0x486ccd
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x9c], 0
jne 0x486a84
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x88]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x90], eax
mov eax, dword [ebp - 0x14]
add eax, 0xa0
push eax
mov ecx, dword [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x264]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x88]
push ecx
call fcn.00496ef0
add esp, 0x10
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x9c], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x90], 0
jne 0x48697d
push str.m_hDcBackground
push 0x67b238
push 0
push 0x3f7
push 0x67b240
push 2
call fcn.00619920
add esp, 0x18
cmp eax, 1
jne 0x48697d
int3
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x9c], 0
jne 0x4869af
push 0x67b09c
push 0x67b268
push 0
push 0x3f8
push 0x67b270
push 2
call fcn.00619920
add esp, 0x18
cmp eax, 1
jne 0x4869af
int3
mov ecx, dword [ebp - 0x264]
imul ecx, dword [ebp - 0x268]
shl ecx, 2
push ecx
push 0
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xa0]
push eax
call fcn.00614d30
add esp, 0xc
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x9c]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x90]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 4], 0
lea edx, [ebp - 0x2ac]
push edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x27c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x278]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x274]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x270]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x90]
push ecx
call fcn.00496a50
add esp, 0x18
mov edx, dword [ebp - 0x14]
add edx, 0x174
push edx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x27c]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x90]
push ecx
call fcn.00499b90
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2ac]
call fcn.00496910
jmp 0x486b43
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x160]
test eax, eax
je 0x486b43
mov ecx, dword [ebp - 0x264]
imul ecx, dword [ebp - 0x268]
shl ecx, 2
push ecx
push 0
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xa0]
push eax
call fcn.00614d30
add esp, 0xc
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2d0]
push ecx
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x27c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x278]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x274]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x270]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x90]
push eax
call fcn.00496a50
add esp, 0x18
mov ecx, dword [ebp - 0x14]
add ecx, 0x174
push ecx
lea edx, [ebp - 0x27c]
push edx
lea eax, [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x90]
push eax
call fcn.00499b90
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call fcn.00496910
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x280]
movzx eax, byte [edx + 0x14]
test eax, eax
je 0x486ccd
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x2d8], ecx
jmp 0x486b7b
mov edx, dword [ebp - 0x2d8]
add edx, 1
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xf0]
cmp dword [ebp - 0x2d8], eax
jge 0x486ccd
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x2dc], ecx
jmp 0x486bb0
mov edx, dword [ebp - 0x2dc]
add edx, 1
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0xec]
jge 0x486cc8
mov ecx, dword [ebp - 0x2d8]
imul ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x98]
lea ecx, [eax + ecx*4]
mov edx, dword [ebp - 0x2dc]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x2d8]
imul ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xa0]
lea ecx, [eax + ecx*4]
mov edx, dword [ebp - 0x2dc]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
mov edx, dword [ecx]
shr edx, 0x18
mov byte [ebp - 0x289], dl
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax]
shr ecx, 0x10
movzx eax, cl
movzx edx, byte [ebp - 0x289]
imul eax, edx
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x28a], al
mov edx, dword [ebp - 0x284]
mov eax, dword [edx]
shr eax, 8
movzx eax, al
movzx ecx, byte [ebp - 0x289]
imul eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x28b], al
mov edx, dword [ebp - 0x284]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x289]
imul eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x28c], al
movzx edx, byte [ebp - 0x28c]
movzx eax, byte [ebp - 0x28b]
shl eax, 8
or edx, eax
movzx ecx, byte [ebp - 0x28a]
shl ecx, 0x10
or edx, ecx
movzx eax, byte [ebp - 0x289]
shl eax, 0x18
add edx, eax
mov ecx, dword [ebp - 0x284]
mov dword [ecx], edx
jmp 0x486ba1
jmp 0x486b6c
mov byte [ebp - 0x2e4], 0
mov byte [ebp - 0x2e3], 0
mov edx, dword [ebp - 0x14]
mov al, byte [edx + 0x14c]
mov byte [ebp - 0x2e2], al
mov byte [ebp - 0x2e1], 1
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x268]
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
mov esi, esp
push 2
lea edx, [ebp - 0x2e4]
push edx
push 0
lea eax, [ebp - 0x314]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x8c]
push edx
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x2f4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x88]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [0x734398]
cmp esi, esp
call fcn.00611b50
jmp 0x486de2
mov esi, esp
push 0xcc0020
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x8c]
push eax
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xf0]
push ecx
mov edx, dword [ebp - 0xec]
sub edx, dword [ebp - 0xf4]
push edx
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x88]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov ecx, dword [ebp - 0x1d4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x8c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xe1]
test edx, edx
je 0x486ecc
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x14d]
test ecx, ecx
jne 0x486ecc
mov esi, esp
mov edx, dword [0x73439c]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x88]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x31c], eax
mov esi, esp
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
cmp esi, esp
call fcn.00611b50
mov esi, esp
push eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x88]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov ecx, dword [ebp - 0xe8]
push ecx
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x88]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov ecx, dword [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x88]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp esi, esp
call fcn.00611b50
jmp 0x486f45
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x88]
push edx
call dword [sym.imp.GDI32.dll_SaveDC]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x320], eax
mov esi, esp
push 0
lea eax, [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x88]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xe4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xe4]
mov edx, dword [eax + 0x138]
call edx
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov eax, dword [ebp - 0x320]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x88]
push edx
call dword [sym.imp.GDI32.dll_RestoreDC]
cmp esi, esp
call fcn.00611b50
mov esi, esp
lea eax, [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
cmp esi, esp
call fcn.00611b50
push 0
mov ecx, dword [ebp - 0x14]
call fcn.00483c50
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x160], 0
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x149]
test edx, edx
je 0x486f8f
mov ecx, dword [ebp - 0x14]
call fcn.0047c850
mov al, 1
jmp 0x4891b9
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xe4], 0
jne 0x486fa7
jmp case.default.0x4855dc
mov esi, esp
lea ecx, [ebp - 0x334]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x33c], ecx
mov esi, esp
mov edx, dword [ebp - 0x33c]
push edx
call dword [sym.imp.GDI32.dll_SaveDC]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x340], eax
mov esi, esp
push 0
lea eax, [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x33c]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xe4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xe4]
mov eax, dword [edx + 0x138]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0x10]
and ecx, 0x10
je 0x48712d
mov esi, esp
push 5
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
je 0x48712d
mov dword [ebp - 0x358], 0
xor ecx, ecx
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x34c], ecx
mov esi, esp
lea edx, [ebp - 0x358]
push edx
mov eax, dword [ebp - 0x344]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp esi, esp
call fcn.00611b50
mov esi, esp
push 2
lea ecx, [ebp - 0x358]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp esi, esp
call fcn.00611b50
mov esi, esp
push 0
mov ecx, dword [ebp - 0x354]
neg ecx
push ecx
mov edx, dword [ebp - 0x358]
neg edx
push edx
mov eax, dword [ebp - 0x33c]
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0x10]
or ecx, 2
mov esi, esp
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x317
mov eax, dword [ebp - 0x344]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov esi, esp
push 2
mov ecx, dword [ebp - 0x344]
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x344], eax
jmp 0x48704e
mov esi, esp
mov edx, dword [ebp - 0x340]
push edx
mov eax, dword [ebp - 0x33c]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
cmp esi, esp
call fcn.00611b50
jmp case.default.0x4855dc
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x360], ecx
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x104], 0
jle 0x487176
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x104]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x108], 0
jle 0x487194
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x108]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x10c], 0
jle 0x4871b2
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10c]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x110], 0
jle 0x4871d0
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x110]
mov dword [eax + 0x24], edx
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xe8], 0
je 0x4872ae
mov dword [ebp - 0x384], 0
xor ecx, ecx
mov dword [ebp - 0x380], ecx
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x384], 0x16
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xe8]
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x368], edx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xfc]
mov edx, dword [eax + 0x100]
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x374], edx
call fcn.0048a770
mov word [ebp - 0x36e], ax
mov esi, esp
lea eax, [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe8]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xe8]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xe4], 0
je 0x4872c8
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0xe4]
call fcn.00493e90
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x14d]
test ecx, ecx
je 0x4872de
mov ecx, dword [ebp - 0x14]
call fcn.0047c850
mov al, 1
jmp 0x4891b9
mov edx, dword [ebp + 0xc]
and edx, 0xffff
movzx eax, dx
cmp eax, 0x2000
jne 0x487363
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x14d]
test edx, edx
je 0x487363
mov eax, dword [ebp - 0x14]
add eax, 0x164
mov esi, esp
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x487363
mov dword [ebp - 0x390], 0
mov esi, esp
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x48735e
lea eax, [ebp - 0x390]
push eax
push 0
push 0
push 0xf
mov ecx, dword [ebp - 0x14]
call fcn.004852a0
jmp case.default.0x4855dc
mov dword [ebp - 0x398], 0
jmp 0x48737e
mov ecx, dword [ebp - 0x398]
add ecx, 1
mov dword [ebp - 0x398], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2cc
call fcn.0048d320
cmp dword [ebp - 0x398], eax
jge 0x4874ca
mov edx, dword [ebp - 0x398]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2cc
call fcn.0048d3a0
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + 8]
cmp edx, dword [ecx + 0x84]
jne 0x4874c5
mov eax, dword [ebp + 0xc]
and eax, 0xffff
movzx ecx, ax
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 0xc], ecx
jne 0x4874c5
mov eax, dword [ebp - 0x39c]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
jne 0x4874c5
mov dword [ebp - 0x3c0], 0
xor edx, edx
mov dword [ebp - 0x3bc], edx
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], edx
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x3c0], 0x18
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax]
mov dword [ebp - 0x3bc], ecx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x3b8], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xfc]
mov ecx, dword [edx + 0x100]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], ecx
call fcn.0048a770
mov word [ebp - 0x3aa], ax
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x3a4], ecx
mov esi, esp
lea edx, [ebp - 0x3c0]
push edx
mov eax, dword [ebp - 0x39c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x39c]
mov eax, dword [ecx]
mov ecx, dword [edx]
mov edx, dword [eax + 0x11c]
call edx
cmp esi, esp
call fcn.00611b50
jmp 0x4874ca
jmp 0x48736f
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xe0]
test ecx, ecx
je 0x4874ed
mov edx, dword [ebp + 0x14]
mov dword [edx], 3
mov al, 1
jmp 0x4891b9
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xe4], 0
jne 0x487503
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x2b8], 0
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x3cc]
push eax
mov ecx, dword [ebp - 0x3d0]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d8], 0
jne 0x48755e
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xec], 0
je 0x487634
mov dword [ebp - 0x3fc], 0
xor eax, eax
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3fc], 0xc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xec]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x3e0], ecx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x3f4], eax
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3ec], eax
call fcn.0048a770
mov word [ebp - 0x3e6], ax
mov esi, esp
lea ecx, [ebp - 0x3fc]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xec]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xec]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov esi, esp
lea ecx, [ebp - 0x488]
push ecx
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 0xac]
call edx
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x488]
call fcn.0048b820
movzx eax, al
test eax, eax
je 0x487697
mov byte [ebp - 0x75d], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x488]
call fcn.0048b700
mov al, byte [ebp - 0x75d]
jmp 0x4891b9
lea ecx, [ebp - 0x488]
push ecx
call fcn.00482430
add esp, 4
push 0x2c
push 0
mov edx, dword [ebp - 0x14]
add edx, 0xb0
push edx
call fcn.00614d30
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xb0], 0x2c
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xb4], 1
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
mov dword [edx + 0xb8], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
mov dword [edx + 0xbc], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [0x7343a8]
mov dword [edx + 0xd0], eax
lea ecx, [ebp - 0x488]
call fcn.0048bb20
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xd4], eax
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 0x40]
call edx
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
add ecx, 0xc0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xac], 0
jne 0x487871
mov esi, esp
push 0
mov edx, dword [0x7343a8]
push edx
push 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
push accept
push accept
push accept
push accept
push reloc.WS2_32.dll_closesocket
push 0
push str.tooltips_class32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xac], eax
mov eax, dword [ebp - 0x14]
add eax, 0xb0
mov esi, esp
push eax
push 0
push 0x432
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x3d8]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x3d8]
mov eax, dword [edx + 0xb8]
call eax
cmp esi, esp
call fcn.00611b50
mov esi, esp
push eax
push 0
push 0x418
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
add eax, 0xb0
mov esi, esp
push eax
push 0
push 0x436
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
add eax, 0xb0
mov esi, esp
push eax
push 1
push 0x411
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xf8], 0
jne 0x487891
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3d8]
mov dword [ecx + 0xf8], edx
jmp 0x487a25
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xf8]
cmp ecx, dword [ebp - 0x3d8]
jne 0x487991
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 0xb8]
call edx
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xa8], eax
je 0x487938
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 0xb8]
call edx
cmp esi, esp
call fcn.00611b50
mov esi, esp
push eax
push 0
push 0x418
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 0xb8]
call edx
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xa8], eax
mov edx, dword [ebp - 0x14]
add edx, 0xb0
mov esi, esp
push edx
push 0
push 0x436
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
add edx, 0xb0
mov esi, esp
push edx
push 1
push 0x411
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
jmp 0x487a25
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + 0xb8]
call edx
cmp esi, esp
call fcn.00611b50
mov esi, esp
push eax
push 0
push 0x418
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
add edx, 0xb0
mov esi, esp
push edx
push 0
push 0x436
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
add edx, 0xb0
mov esi, esp
push edx
push 1
push 0x411
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x3d0]
and edx, 0xffff
movzx eax, dx
mov ecx, dword [ebp - 0x3cc]
and ecx, 0xffff
movzx edx, cx
shl edx, 0x10
or eax, edx
mov esi, esp
push eax
push 0
push 0x412
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x488]
call fcn.0048b700
mov al, 1
jmp 0x4891b9
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe4], 0
jne 0x487a93
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xac], 0
je 0x487ac9
mov ecx, dword [ebp - 0x14]
add ecx, 0xb0
mov esi, esp
push ecx
push 0
push 0x411
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xac]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x2b8]
test edx, edx
je 0x487c9f
mov dword [ebp - 0x498], 0
xor eax, eax
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x4b0], 0
xor ecx, ecx
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4a4], ecx
mov esi, esp
lea edx, [ebp - 0x498]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
cmp esi, esp
call fcn.00611b50
mov esi, esp
lea eax, [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp esi, esp
call fcn.00611b50
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
cmp esi, esp
call fcn.00611b50
test eax, eax
jne 0x487c7d
mov esi, esp
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
cmp eax, dword [edx + 0x84]
jne 0x487c7d
mov esi, esp
mov eax, dword [ebp - 0x494]
push eax
mov ecx, dword [ebp - 0x498]
push ecx
lea edx, [ebp - 0x4b0]
push edx
call dword [sym.imp.USER32.dll_PtInRect]
cmp esi, esp
call fcn.00611b50
test eax, eax
je 0x487c7d
mov eax, dword [ebp - 0x498]
and eax, 0xffff
movzx ecx, ax
mov edx, dword [ebp - 0x494]
and edx, 0xffff
movzx eax, dx
shl eax, 0x10
or ecx, eax
mov esi, esp
push ecx
push 0
push 0x84
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
cmp eax, 1
jne 0x487c59
mov esi, esp
lea eax, [ebp - 0x498]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x498]
and eax, 0xffff
movzx ecx, ax
mov edx, dword [ebp - 0x494]
and edx, 0xffff
movzx eax, dx
shl eax, 0x10
or ecx, eax
mov esi, esp
push ecx
push 0
push 0x200
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
jmp 0x487c7b
mov esi, esp
push 0xffffffffffffffff
push 0
push 0x200
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
jmp 0x487c9f
mov esi, esp
push 0xffffffffffffffff
push 0
push 0x200
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x2b8], 0
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe4], 0
jne 0x487cbf
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x2b8]
test ecx, ecx
jne 0x487d83
mov dword [ebp - 0x4c8], 0
xor edx, edx
mov dword [ebp - 0x4c4], edx
mov dword [ebp - 0x4c0], edx
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4c8], 0x10
mov dword [ebp - 0x4c4], 3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xac], 0
jne 0x487d2f
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xdc]
mov dword [ebp - 0x784], ecx
jmp 0x487d57
mov esi, esp
push 0
push 3
push 0x415
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xac]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x4bc], ecx
mov esi, esp
lea edx, [ebp - 0x4c8]
push edx
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x2b8], 1
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp + 0x10]
shr eax, 0x10
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4d8]
mov dword [edx + 0xfc], eax
mov ecx, dword [ebp - 0x4d4]
mov dword [edx + 0x100], ecx
mov edx, dword [ebp - 0x4d4]
push edx
mov eax, dword [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x4e0], 0
je 0x487e0f
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [ecx]
mov esi, esp
mov ecx, dword [ebp - 0x4e0]
mov eax, dword [edx + 0x24]
call eax
cmp esi, esp
call fcn.00611b50
cmp eax, dword [ebp - 0x14]
je 0x487e0f
jmp case.default.0x4855dc
mov dword [ebp - 0x504], 0
xor ecx, ecx
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x4f0], ecx
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4d8]
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4e8], edx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x4fc], eax
call fcn.0048a770
mov word [ebp - 0x4ee], ax
mov ecx, dword [ebp - 0x14]
call fcn.00483c10
movzx eax, al
test eax, eax
jne 0x4880ef
mov ecx, dword [ebp - 0x4d4]
push ecx
mov edx, dword [ebp - 0x4d8]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x4e0], 0
je 0x487eee
mov eax, dword [ebp - 0x4e0]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x4e0]
mov eax, dword [edx + 0x24]
call eax
cmp esi, esp
call fcn.00611b50
cmp eax, dword [ebp - 0x14]
je 0x487eee
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4e0]
cmp edx, dword [ecx + 0xec]
je 0x48808a
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xec], 0
je 0x48808a
mov dword [ebp - 0x504], 0xa
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xec]
mov dword [ebp - 0x500], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x338
call fcn.0048d320
push eax
lea ecx, [ebp - 0x518]
call fcn.0048cdb0
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x14]
add ecx, 0x338
call fcn.0048d320
push eax
lea ecx, [ebp - 0x518]
call fcn.0048cf50
mov ecx, dword [ebp - 0x14]
add ecx, 0x338
call fcn.0048d320
shl eax, 2
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x338
call fcn.0048d340
push eax
lea ecx, [ebp - 0x518]
call fcn.0048d340
push eax
call fcn.00614e90
add esp, 0xc
mov dword [ebp - 0x520], 0
jmp 0x487fb7
mov eax, dword [ebp - 0x520]
add eax, 1
mov dword [ebp - 0x520], eax
lea ecx, [ebp - 0x518]
call fcn.0048d320
cmp dword [ebp - 0x520], eax
jge 0x48800a
mov ecx, dword [ebp - 0x520]
push ecx
lea ecx, [ebp - 0x518]
call fcn.0048d3a0
mov dword [ebp - 0x788], eax
mov esi, esp
lea edx, [ebp - 0x504]
push edx
mov eax, dword [ebp - 0x788]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x788]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
jmp 0x487fa8
mov esi, esp
lea ecx, [ebp - 0x504]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xec]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xec]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xec], 0
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xac], 0
je 0x488078
mov eax, dword [ebp - 0x14]
add eax, 0xb0
mov esi, esp
push eax
push 0
push 0x411
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x518]
call fcn.0048cec0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4e0]
cmp ecx, dword [eax + 0xec]
je 0x4880ef
cmp dword [ebp - 0x4e0], 0
je 0x4880ef
mov dword [ebp - 0x504], 0xb
mov edx, dword [ebp - 0x4e0]
mov dword [ebp - 0x500], edx
mov esi, esp
lea eax, [ebp - 0x504]
push eax
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4e0]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4e0]
mov dword [ecx + 0xec], edx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xf0], 0
je 0x488142
mov dword [ebp - 0x504], 9
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf0]
mov dword [ebp - 0x500], edx
mov esi, esp
lea eax, [ebp - 0x504]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf0]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xf0]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
jmp 0x488187
cmp dword [ebp - 0x4e0], 0
je 0x488187
mov dword [ebp - 0x504], 9
mov ecx, dword [ebp - 0x4e0]
mov dword [ebp - 0x500], ecx
mov esi, esp
lea edx, [ebp - 0x504]
push edx
mov eax, dword [ebp - 0x4e0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4e0]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xe0]
test edx, edx
jne 0x4881b3
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe4], 0
jne 0x4881c4
jmp case.default.0x4855dc
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x52c]
mov dword [ecx + 0xfc], edx
mov eax, dword [ebp - 0x528]
mov dword [ecx + 0x100], eax
mov ecx, dword [ebp - 0x528]
push ecx
mov edx, dword [ebp - 0x52c]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 0
jne 0x48822f
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x534]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x534]
mov eax, dword [edx + 0x24]
call eax
cmp esi, esp
call fcn.00611b50
cmp eax, dword [ebp - 0x14]
je 0x488255
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x534]
mov dword [ecx + 0xf0], edx
mov eax, dword [ebp - 0x534]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x534]
mov eax, dword [edx + 0x104]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
call fcn.00483b80
mov dword [ebp - 0x558], 0
xor ecx, ecx
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x558], 0xd
mov edx, dword [ebp - 0x534]
mov dword [ebp - 0x554], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x548], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x542], cx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x550], eax
mov esi, esp
lea edx, [ebp - 0x558]
push edx
mov eax, dword [ebp - 0x534]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x534]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xe0]
test edx, edx
jne 0x488373
mov esi, esp
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x564], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x568]
mov dword [eax + 0xfc], ecx
mov edx, dword [ebp - 0x564]
mov dword [eax + 0x100], edx
mov eax, dword [ebp - 0x564]
push eax
mov ecx, dword [ebp - 0x568]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x570], eax
cmp dword [ebp - 0x570], 0
jne 0x4883df
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x570]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x570]
mov edx, dword [eax + 0x24]
call edx
cmp esi, esp
call fcn.00611b50
cmp eax, dword [ebp - 0x14]
je 0x488405
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
call fcn.00483b80
mov dword [ebp - 0x594], 0
xor eax, eax
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x594], 0x10
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x590], ecx
mov edx, dword [ebp - 0x568]
mov dword [ebp - 0x588], edx
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x584], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x57e], cx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x58c], eax
mov esi, esp
lea edx, [ebp - 0x594]
push edx
mov eax, dword [ebp - 0x570]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x570]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x570]
mov dword [ecx + 0xf0], edx
jmp case.default.0x4855dc
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5a4]
mov dword [ecx + 0xfc], edx
mov eax, dword [ebp - 0x5a0]
mov dword [ecx + 0x100], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xf0], 0
jne 0x48851d
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
call fcn.00483bd0
mov dword [ebp - 0x5cc], 0
xor edx, edx
mov dword [ebp - 0x5c8], edx
mov dword [ebp - 0x5c4], edx
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], edx
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], edx
mov dword [ebp - 0x5b0], edx
mov dword [ebp - 0x5cc], 0xe
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xf0]
mov dword [ebp - 0x5c8], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0x5a0]
mov dword [ebp - 0x5bc], edx
mov ax, word [ebp + 0xc]
mov word [ebp - 0x5b6], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf0]
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xf0], 0
mov esi, esp
lea ecx, [ebp - 0x5cc]
push ecx
mov edx, dword [ebp - 0x5d4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5d4]
mov edx, dword [eax + 0x11c]
call edx
cmp esi, esp
call fcn.00611b50
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xe0]
test ecx, ecx
jne 0x48862c
mov esi, esp
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp + 0x10]
shr eax, 0x10
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5e0]
mov dword [edx + 0xfc], eax
mov ecx, dword [ebp - 0x5dc]
mov dword [edx + 0x100], ecx
mov edx, dword [ebp - 0x5dc]
push edx
mov eax, dword [ebp - 0x5e0]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x5e8], eax
cmp dword [ebp - 0x5e8], 0
jne 0x488697
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x5e8]
mov edx, dword [ecx]
mov esi, esp
mov ecx, dword [ebp - 0x5e8]
mov eax, dword [edx + 0x24]
call eax
cmp esi, esp
call fcn.00611b50
cmp eax, dword [ebp - 0x14]
je 0x4886bd
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x5e8]
mov edx, dword [ecx]
mov esi, esp
mov ecx, dword [ebp - 0x5e8]
mov eax, dword [edx + 0x104]
call eax
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x60c], 0
xor ecx, ecx
mov dword [ebp - 0x608], ecx
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], ecx
mov dword [ebp - 0x5f8], ecx
mov dword [ebp - 0x5f4], ecx
mov dword [ebp - 0x5f0], ecx
mov dword [ebp - 0x60c], 0xf
mov edx, dword [ebp - 0x5e8]
mov dword [ebp - 0x608], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x5f0], ecx
mov edx, dword [ebp - 0x5e0]
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5fc], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x5f6], cx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x604], eax
mov esi, esp
lea edx, [ebp - 0x60c]
push edx
mov eax, dword [ebp - 0x5e8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5e8]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5e8]
mov dword [ecx + 0xf0], edx
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xe4], 0
jne 0x4887bd
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
call fcn.00483c10
movzx ecx, al
test ecx, ecx
je 0x4887d1
jmp case.default.0x4855dc
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x618], edx
mov esi, esp
lea eax, [ebp - 0x61c]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x61c]
mov dword [eax + 0xfc], ecx
mov edx, dword [ebp - 0x618]
mov dword [eax + 0x100], edx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xf0], 0
jne 0x488844
jmp case.default.0x4855dc
mov dword [ebp - 0x644], 0
xor ecx, ecx
mov dword [ebp - 0x640], ecx
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x634], ecx
mov dword [ebp - 0x630], ecx
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x628], ecx
mov dword [ebp - 0x644], 0x11
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xf0]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x61c]
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x618]
mov dword [ebp - 0x634], edx
mov ax, word [ebp + 0xc]
mov word [ebp - 0x62e], ax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf0]
mov dword [ebp - 0x628], edx
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x63c], eax
mov esi, esp
lea eax, [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf0]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xf0]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xf0], 0
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe4], 0
jne 0x488929
jmp case.default.0x4855dc
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x654], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x650], eax
mov esi, esp
lea ecx, [ebp - 0x654]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x654]
mov dword [ecx + 0xfc], edx
mov eax, dword [ebp - 0x650]
mov dword [ecx + 0x100], eax
mov ecx, dword [ebp - 0x650]
push ecx
mov edx, dword [ebp - 0x654]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x4889b4
jmp case.default.0x4855dc
mov eax, dword [ebp - 0x65c]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x65c]
mov eax, dword [edx + 0x24]
call eax
cmp esi, esp
call fcn.00611b50
cmp eax, dword [ebp - 0x14]
je 0x4889da
jmp case.default.0x4855dc
mov ecx, dword [ebp + 0xc]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x660], edx
mov dword [ebp - 0x684], 0
xor eax, eax
mov dword [ebp - 0x680], eax
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x684], 0x12
mov ecx, dword [ebp - 0x65c]
mov dword [ebp - 0x680], ecx
cmp dword [ebp - 0x660], 0
jge 0x488a50
mov dword [ebp - 0x78c], 1
jmp 0x488a5a
mov dword [ebp - 0x78c], 0
mov edx, dword [ebp - 0x78c]
and edx, 0xffff
movzx eax, dx
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x668], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xfc]
mov ecx, dword [edx + 0x100]
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], ecx
call fcn.0048a770
mov word [ebp - 0x66e], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x67c], eax
mov esi, esp
lea edx, [ebp - 0x684]
push edx
mov eax, dword [ebp - 0x65c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x65c]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xfc]
and edx, 0xffff
movzx eax, dx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x100]
and edx, 0xffff
movzx ecx, dx
shl ecx, 0x10
or eax, ecx
mov esi, esp
push eax
push 0
push 0x200
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xe4], 0
jne 0x488b3a
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe8], 0
jne 0x488b4b
jmp case.default.0x4855dc
mov dword [ebp - 0x6ac], 0
xor eax, eax
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x6ac], 5
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe8]
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x690], ecx
mov dx, word [ebp + 0xc]
mov word [ebp - 0x698], dx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xfc]
mov edx, dword [eax + 0x100]
mov dword [ebp - 0x6a0], ecx
mov dword [ebp - 0x69c], edx
call fcn.0048a770
mov word [ebp - 0x696], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x6a4], eax
mov esi, esp
lea eax, [ebp - 0x6ac]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe8]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xe8]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xe4], 0
jne 0x488c35
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe8], 0
jne 0x488c46
jmp case.default.0x4855dc
mov dword [ebp - 0x6d4], 0
xor eax, eax
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], eax
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x6d4], 3
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe8]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x6b8], ecx
mov dx, word [ebp + 0xc]
mov word [ebp - 0x6c0], dx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xfc]
mov edx, dword [eax + 0x100]
mov dword [ebp - 0x6c8], ecx
mov dword [ebp - 0x6c4], edx
call fcn.0048a770
mov word [ebp - 0x6be], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x6cc], eax
mov esi, esp
lea eax, [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xe8]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xe8]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xe8]
mov dword [ecx + 0xf4], eax
jmp case.default.0x4855dc
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xe4], 0
jne 0x488d42
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xf4], 0
jne 0x488d53
jmp case.default.0x4855dc
mov dword [ebp - 0x6fc], 0
xor eax, eax
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], eax
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6fc], 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf4]
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x6e0], ecx
mov dx, word [ebp + 0xc]
mov word [ebp - 0x6e8], dx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xfc]
mov edx, dword [eax + 0x100]
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0x6ec], edx
call fcn.0048a770
mov word [ebp - 0x6e6], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x6f4], eax
mov esi, esp
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xf4]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx]
mov ecx, dword [eax + 0xf4]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xf4], 0
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xe4], 0
jne 0x488e4a
jmp case.default.0x4855dc
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movzx ecx, ax
cmp ecx, 1
je 0x488e5f
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x2b9]
test eax, eax
je 0x488e74
mov al, 1
jmp 0x4891b9
mov dword [ebp - 0x70c], 0
xor ecx, ecx
mov dword [ebp - 0x708], ecx
mov esi, esp
lea edx, [ebp - 0x70c]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
cmp esi, esp
call fcn.00611b50
mov esi, esp
lea eax, [ebp - 0x70c]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x84]
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp esi, esp
call fcn.00611b50
mov eax, dword [ebp - 0x708]
push eax
mov ecx, dword [ebp - 0x70c]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.00484c20
mov dword [ebp - 0x714], eax
cmp dword [ebp - 0x714], 0
jne 0x488ee6
jmp case.default.0x4855dc
mov edx, dword [ebp - 0x714]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x714]
mov edx, dword [eax + 0x18]
call edx
cmp esi, esp
call fcn.00611b50
and eax, 2
jne 0x488f0c
jmp case.default.0x4855dc
mov dword [ebp - 0x738], 0
xor eax, eax
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x72c], eax
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], eax
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x738], 0x17
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x720], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x71c], eax
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x72c], ecx
mov edx, dword [ebp - 0x708]
mov dword [ebp - 0x728], edx
call fcn.0048a770
mov word [ebp - 0x722], ax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x730], eax
mov esi, esp
lea eax, [ebp - 0x738]
push eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x714]
mov eax, dword [edx + 0x11c]
call eax
cmp esi, esp
call fcn.00611b50
mov al, 1
jmp 0x4891b9
cmp dword [ebp + 0xc], 0
je 0x4890df
mov esi, esp
call dword [sym.imp.USER32.dll_GetFocus]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x744], 0
mov esi, esp
mov ecx, dword [ebp - 0x740]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x744], eax
cmp dword [ebp - 0x744], 0
je 0x4890df
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x84]
cmp eax, dword [ebp - 0x744]
jne 0x4890ce
mov dword [ebp - 0x748], 0
jmp 0x489052
mov ecx, dword [ebp - 0x748]
add ecx, 1
mov dword [ebp - 0x748], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2fc
call fcn.0048d320
cmp dword [ebp - 0x748], eax
jge 0x4890cc
mov edx, dword [ebp - 0x748]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x2fc
call fcn.0048d3a0
cmp eax, dword [ebp - 0x740]
jne 0x4890c7
mov eax, dword [ebp - 0x748]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x308
call fcn.0048d3a0
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0xe8]
je 0x4890c5
push 0
mov edx, dword [ebp - 0x748]
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x308
call fcn.0048d3a0
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00483030
jmp 0x4890cc
jmp 0x489043
jmp 0x4890df
mov eax, dword [ebp - 0x744]
mov dword [ebp - 0x740], eax
jmp 0x488ff9
jmp case.default.0x4855dc
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x74c], ecx
cmp dword [ebp - 0x74c], 0
je 0x489125
mov esi, esp
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x2000
push ecx
mov edx, dword [ebp - 0x74c]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x4891b9
cmp dword [ebp + 0x10], 0
jne 0x489139
jmp case.default.0x4855dc
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x750], edx
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2000
push edx
mov eax, dword [ebp - 0x750]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x4891b9
cmp dword [ebp + 0x10], 0
jne 0x48917d
jmp case.default.0x4855dc
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x754], edx
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2000
push edx
mov eax, dword [ebp - 0x754]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, esp
call fcn.00611b50
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x4891b9
xor al, al
push edx
mov ecx, ebp
push eax
lea edx, [0x4891f4]
call fcn.00611af0
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00610840
add esp, 0x78c
cmp ebp, esp
call fcn.00611b50
mov esp, ebp
pop ebp
ret 0x10