Function at 0x4c0b2b
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5749ee
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x5bb250]
xor eax, esp
mov dword [esp + 0x170], eax
push ebx
push esi
push edi
mov eax, dword [0x5bb250]
xor eax, esp
push eax
lea eax, [esp + 0x188]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x24], ebx
cmp dword [ebx], 0
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x18], edi
mov dword [esp + 0x34], eax
je 0x4c1f2e
lea ecx, [ebx + 0x100]
push 0
mov dword [esp + 0x24], ecx
call fcn.004befe9
mov esi, eax
test esi, esi
je 0x4c0c24
lea eax, [ebx + 0xb8]
mov ebx, eax
push 0
call fcn.004bef7e
mov eax, dword [esi + 0x108]
test eax, eax
je 0x4c0bd5
lea edx, [eax + 0x34]
mov ecx, edx
call fcn.004cf042
test al, al
je 0x4c0bd5
push esi
mov ecx, edx
call fcn.004cf14a
mov ecx, ebx
xor edi, edi
call fcn.004befe2
test eax, eax
jle 0x4c0bfd
push edi
mov ecx, ebx
call fcn.004bf005
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.004befe2
cmp edi, eax
jl 0x4c0be2
mov ecx, esi
call fcn.004c02c4
push esi
call fcn.0053ba8c
pop ecx
mov ecx, dword [esp + 0x20]
push 0
call fcn.004befe9
mov esi, eax
test esi, esi
jne 0x4c0bae
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
xor edx, edx
lea ecx, [ebx + 0xdc]
mov dword [esp + 0x14], edx
call fcn.004befe2
mov esi, dword [ebp + 8]
test eax, eax
jle 0x4c0c83
mov edi, dword [esp + 0x10]
push edx
mov byte [esp + 0x23], 0
call fcn.004bf005
lea ecx, [esp + 0x1f]
push ecx
push edi
push dword [esp + 0x20]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx]
cmp byte [esp + 0x1f], 0
jne 0x4c0d0a
mov edx, dword [esp + 0x14]
lea ecx, [ebx + 0xdc]
inc edx
mov dword [esp + 0x14], edx
call fcn.004befe2
cmp edx, eax
jl 0x4c0c40
mov edi, dword [esp + 0x18]
mov eax, 0x113
cmp esi, eax
ja 0x4c1619
je 0x4c1582
cmp esi, 0x4e
ja 0x4c1368
je 0x4c1348
sub esi, 5
je 0x4c12ec
sub esi, 0xa
je 0x4c0eb2
dec esi
je 0x4c0e02
sub esi, 4
je 0x4c0df4
sub esi, 0xc
je 0x4c0d17
sub esi, 4
jne 0x4c1ea7
mov ecx, dword [ebx + 0x6c]
mov eax, dword [esp + 0x10]
test ecx, ecx
jle 0x4c0ce3
mov dword [eax + 0x18], ecx
mov ecx, dword [ebx + 0x70]
test ecx, ecx
jle 0x4c0ced
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebx + 0x74]
test ecx, ecx
jle 0x4c0cf7
mov dword [eax + 0x20], ecx
mov ecx, dword [ebx + 0x78]
test ecx, ecx
jle 0x4c1ea7
mov dword [eax + 0x24], ecx
jmp 0x4c1ea7
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov al, 1
jmp 0x4c1f30
mov esi, dword [esp + 0x10]
xor eax, eax
inc eax
cmp si, ax
jne 0x4c1ea7
cmp byte [ebx + 0xb6], 0
jne 0x4c1f30
and dword [esp + 0x34], 0
lea eax, [esp + 0x34]
and dword [esp + 0x38], 0
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x34]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [esp + 0x38]
mov ecx, ebx
push dword [esp + 0x38]
call fcn.004c3996
mov dword [esp + 0x24], eax
test eax, eax
je 0x4c1ea7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14]
test al, 2
je 0x4c1ea7
xor eax, eax
lea edi, [esp + 0x88]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x84], 0x17
mov dword [esp + 0xa0], esi
mov dword [esp + 0x94], eax
call fcn.004bfdcf
mov word [esp + 0x9a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x84]
mov dword [esp + 0x8c], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x108]
jmp 0x4c0d10
mov ecx, dword [esp + 0x34]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x4c1f30
and dword [esp + 0xc4], 0
lea edi, [esp + 0xc8]
push 7
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x64]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0xd4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x58]
mov dword [esp + 0xcc], eax
test ecx, ecx
je 0x4c0e62
mov dword [esp + 0xc4], 0xa
lea edx, [esp + 0xc4]
mov dword [esp + 0xc8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x108]
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x4c0e8b
mov dword [esp + 0xc4], 0xe
lea edx, [esp + 0xc4]
mov dword [esp + 0xc8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x108]
push 0
mov ecx, ebx
call fcn.004c22e4
push 4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x4c1ea7
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x4c1ea7
push 0
lea eax, [esp + 0xe8]
xorps xmm0, xmm0
push eax
push dword [ebx]
movdqu xmmword [esp + 0xf0], xmm0
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
je 0x4c0d10
xor eax, eax
cmp dword [ebx + 0x50], eax
jne 0x4c0f1e
push 0x3c
push eax
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x90]
push eax
call fcn.0053ca90
add esp, 0xc
lea eax, [esp + 0x84]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [esp + 0x84]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x4c0d10
cmp byte [ebx + 0xb1], al
je 0x4c102c
mov byte [ebx + 0xb1], al
xorps xmm0, xmm0
lea eax, [esp + 0xc4]
push eax
push dword [ebx]
movdqu xmmword [esp + 0xcc], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x4c102c
mov ecx, dword [ebx + 0x50]
call fcn.004c587e
test al, al
mov eax, dword [ecx]
je 0x4c0fcb
sub esp, 0x10
lea esi, [esp + 0xd4]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x34]
cmp dword [ebx + 0xc], 0
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
je 0x4c0f94
push dword [ebx + 0xc]
call esi
cmp dword [ebx + 0x10], 0
je 0x4c0f9f
push dword [ebx + 0x10]
call esi
cmp dword [ebx + 0x14], 0
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
je 0x4c0fb0
push dword [ebx + 0x14]
call esi
cmp dword [ebx + 0x18], 0
je 0x4c0fbb
push dword [ebx + 0x18]
call esi
xor eax, eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
jmp 0x4c100b
push SysReAllocString
push 0
push 0x4c3bd9
call dword [eax + 0xfc]
mov dword [esp + 0x14], eax
test eax, eax
je 0x4c1009
mov ebx, dword [eax]
mov ecx, eax
call dword [ebx + 0x30]
mov ecx, dword [esp + 0x14]
sub esp, 0x10
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ebx + 0x34]
mov ebx, dword [esp + 0x24]
mov ecx, dword [ebx + 0x50]
mov eax, dword [ecx]
jmp 0x4c0fcb
xor eax, eax
cmp byte [ebx + 0xb0], 0
je 0x4c102c
push ecx
push eax
push eax
push str.windowinit
push dword [ebx + 0x50]
mov ecx, ebx
mov byte [ebx + 0xb0], al
call fcn.004c293a
cmp byte [ebx + 0xb2], 0
je 0x4c103e
push 1
mov ecx, ebx
call fcn.004c26f5
cmp byte [ebx + 0xb3], 0
je 0x4c108d
cmp dword [ebx + 0x14], 0
jne 0x4c108d
lea eax, [esp + 0x24]
xorps xmm0, xmm0
push eax
push dword [ebx]
movdqu xmmword [esp + 0x2c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
push eax
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebx + 0x14], eax
and dword [esp + 0x44], 0
lea eax, [esp + 0x48]
push 0x3c
push 0
push eax
call fcn.0053ca90
add esp, 0xc
lea eax, [esp + 0x44]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0xb3], 0
je 0x4c1296
push dword [ebx + 0x14]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0xc]
call edi
push dword [ebx + 0xc]
mov dword [esp + 0x28], eax
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0xb4], 0
mov esi, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0x20], eax
je 0x4c11a4
cmp dword [ebx + 0x18], 0
jne 0x4c116d
lea eax, [esp + 0x34]
xorps xmm0, xmm0
push eax
push dword [ebx]
movdqu xmmword [esp + 0x3c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
push eax
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebx + 0x10]
mov dword [ebx + 0x18], eax
call edi
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x50]
push 0xcc0020
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x60]
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [ebx + 0x10]
call esi
jmp 0x4c1175
push dword [ebx + 0x18]
push dword [ebx + 0x10]
call edi
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x50]
push 0xcc0020
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [ebx + 0x10]
push eax
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x60]
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [ebx + 0xc]
call esi
mov ecx, dword [ebx + 0x50]
lea edx, [esp + 0x4c]
push edx
push dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + pe_nt_image_headers32]
lea ecx, [ebx + 0xe8]
xor esi, esi
call fcn.004befe2
test eax, eax
jle 0x4c11fa
lea edi, [ebx + 0xe8]
push esi
mov ecx, edi
call fcn.004bf005
lea ecx, [esp + 0x4c]
push ecx
push dword [ebx + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x130]
mov ecx, edi
inc esi
call fcn.004befe2
cmp esi, eax
jl 0x4c11ce
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x20]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_RestoreDC]
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x50]
push 0xcc0020
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [ebx + 0xc]
push eax
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x60]
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [esp + 0x64]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [esp + 0x24]
push dword [ebx + 0xc]
call edi
cmp byte [ebx + 0x4c], 0
je 0x4c12c1
push dword [0x5c3a38]
push dword [esp + 0x48]
call edi
push 5
mov esi, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push dword [esp + 0x48]
call edi
push dword [esp + 0xf0]
push dword [esp + 0xf0]
push dword [esp + 0xf0]
push dword [esp + 0xf0]
push dword [esp + 0x54]
call dword [sym.imp.GDI32.dll_Rectangle]
push esi
push dword [esp + 0x48]
call edi
jmp 0x4c12c1
push dword [esp + 0x44]
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x50]
mov esi, eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x48]
mov edx, dword [ecx]
call dword [edx + pe_nt_image_headers32]
push esi
push dword [esp + 0x48]
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [esp + 0x44]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0xb1], 0
je 0x4c0d10
push 0
push 0
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x4c0d10
mov edx, dword [ebx + 0x54]
test edx, edx
je 0x4c1333
push 7
pop ecx
xor eax, eax
lea edi, [esp + 0xc8]
rep stosd dword es:[edi], eax
mov dword [esp + 0xc4], 0x16
mov dword [esp + 0xc8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x54]
lea edx, [esp + 0xc4]
mov dword [esp + 0xcc], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x108]
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x4c0d10
call fcn.004c5885
jmp 0x4c0d10
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c0d10
push eax
push edi
push 0x204e
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4c0d0a
sub esi, 0x7b
je 0x4c14f8
sub esi, 0x85
je 0x4c147d
dec esi
je 0x4c1404
dec esi
je 0x4c13a6
sub esi, 0xf
jne 0x4c1ea7
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c1ea7
push eax
push edi
push 0x2111
push eax
jmp 0x4c135d
cmp dword [ebx + 0x54], 0
je 0x4c1ea7
xor eax, eax
lea edi, [esp + 0xc8]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov word [esp + 0xd8], ax
mov eax, dword [ebx + 0x64]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0xc4], 5
mov dword [esp + 0xd4], eax
call fcn.004bfdcf
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x54]
jmp 0x4c15fd
cmp dword [ebx + 0x60], 0
je 0x4c1ea7
xor eax, eax
lea edi, [esp + 0xc8]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov word [esp + 0xd8], ax
mov eax, dword [ebx + 0x64]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0xc4], 4
mov dword [esp + 0xd4], eax
call fcn.004bfdcf
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x60]
lea edx, [esp + 0xc4]
mov dword [esp + 0xcc], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x108]
and dword [ebx + 0x60], 0
jmp 0x4c1ea7
cmp dword [ebx + 0x54], 0
je 0x4c1ea7
xor eax, eax
lea edi, [esp + 0xc8]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov word [esp + 0xd8], ax
mov eax, dword [ebx + 0x64]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0xc4], 3
mov dword [esp + 0xd4], eax
call fcn.004bfdcf
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x54]
lea edx, [esp + 0xc4]
mov dword [esp + 0xcc], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x108]
mov eax, dword [ebx + 0x54]
mov dword [ebx + 0x60], eax
jmp 0x4c1ea7
mov ecx, dword [esp + 0x10]
movsx eax, cx
mov dword [esp + 0x24], eax
shr ecx, 0x10
movsx eax, cx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebx + 0x5c], 0
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x64], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x68], eax
je 0x4c1ea7
mov ecx, ebx
call fcn.004c26dc
xor eax, eax
lea edi, [esp + 0xc8]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ebx + 0x5c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc4], 0x11
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xe0], ecx
jmp 0x4c1786
lea ecx, [ebx + 0xc4]
xor edx, edx
call fcn.004befe2
test eax, eax
jle 0x4c1ea7
push edx
call fcn.004bf005
mov esi, eax
mov eax, dword [ebx]
cmp dword [esi + 8], eax
jne 0x4c15b4
movzx ecx, di
cmp dword [esi + 0xc], ecx
jne 0x4c15b4
cmp byte [esi + 0x10], 0
je 0x4c15c9
lea ecx, [ebx + 0xc4]
inc edx
call fcn.004befe2
cmp edx, eax
jl 0x4c1597
jmp 0x4c1ea7
push 7
xor eax, eax
lea edi, [esp + 0xcc]
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [esp + 0xc8], eax
mov eax, dword [esi + 4]
mov dword [esp + 0xc4], 0x18
mov dword [esp + 0xdc], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi]
mov dword [esp + 0xcc], eax
mov eax, dword [ecx]
lea edx, [esp + 0xc4]
push edx
call dword [eax + 0x108]
jmp 0x4c1ea7
mov eax, 0x204
cmp esi, eax
ja 0x4c1abf
je 0x4c1a21
mov eax, esi
sub eax, 0x133
je 0x4c1a06
sub eax, 5
je 0x4c1a06
sub eax, 0xc8
je 0x4c1874
dec eax
je 0x4c17b7
dec eax
je 0x4c1715
dec eax
jne 0x4c1ea7
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x64], ecx
push ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [ebx + 0x68], eax
call fcn.004c3996
mov esi, eax
test esi, esi
je 0x4c1ea7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4c1ea7
mov ecx, ebx
call fcn.004c26c8
xor eax, eax
lea edi, [esp + 0xc8]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc4], 0x10
mov dword [esp + 0xc8], esi
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xcc], eax
lea ecx, [esp + 0xc4]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x108]
mov dword [ebx + 0x5c], esi
jmp 0x4c1ea7
mov eax, dword [esp + 0x10]
movsx esi, ax
shr eax, 0x10
cmp dword [ebx + 0x5c], 0
cwde
mov dword [esp + 0x24], eax
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x68], eax
je 0x4c1ea7
mov ecx, ebx
call fcn.004c26dc
push 7
xor eax, eax
lea edi, [esp + 0xcc]
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x5c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc4], 0xe
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], ecx
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x5c]
lea edx, [esp + 0xc4]
mov dword [esp + 0xcc], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x108]
and dword [ebx + 0x5c], 0
jmp 0x4c1ea7
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x64], ecx
push ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [ebx + 0x68], eax
call fcn.004c3996
mov esi, eax
test esi, esi
je 0x4c1ea7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4c1ea7
mov dword [ebx + 0x5c], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xf0]
mov ecx, ebx
call fcn.004c26c8
push 7
xor eax, eax
lea edi, [esp + 0xcc]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc4], 0xd
mov dword [esp + 0xc8], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0xd4], ecx
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xcc], eax
jmp 0x4c19f5
cmp byte [ebx + 0xb5], 0
jne 0x4c18d2
xor eax, eax
lea edi, [esp + 0x28]
cmp dword [ebx + 0x1c], 0
stosd dword es:[edi], eax
push 3
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx]
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
jne 0x4c18ab
mov dword [esp + 0x30], 0x190
jmp 0x4c18c0
push 0
push ecx
push 0x415
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0xb5], 1
mov eax, dword [esp + 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x64], ecx
push ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [ebx + 0x68], eax
call fcn.004c3996
mov esi, eax
test esi, esi
je 0x4c1909
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4c1ea7
and dword [esp + 0xc4], 0
lea edi, [esp + 0xc8]
push 7
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x58]
mov dword [esp + 0xcc], eax
cmp esi, ecx
je 0x4c198d
test ecx, ecx
je 0x4c198d
mov dword [esp + 0xc4], 0xa
lea edx, [esp + 0xc4]
mov dword [esp + 0xc8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x108]
and dword [ebx + 0x58], 0
cmp dword [ebx + 0x1c], 0
je 0x4c198d
lea eax, [ebx + 0x20]
push eax
push 0
push 0x411
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, dword [ebx + 0x58]
je 0x4c19bd
test esi, esi
je 0x4c19bd
mov dword [esp + 0xc4], 0xb
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc8], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x108]
mov dword [ebx + 0x58], esi
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x4c19db
mov dword [esp + 0xc4], 9
mov dword [esp + 0xc8], ecx
jmp 0x4c1604
test esi, esi
je 0x4c1ea7
mov dword [esp + 0xc4], 9
mov dword [esp + 0xc8], esi
mov eax, dword [esi]
lea ecx, [esp + 0xc4]
push ecx
mov ecx, esi
jmp 0x4c160e
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4c1ea7
push ecx
push edi
lea eax, [esi + 0x2000]
push eax
push ecx
jmp 0x4c135d
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x64], ecx
push ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [ebx + 0x68], eax
call fcn.004c3996
mov esi, eax
test esi, esi
je 0x4c1ea7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4c1ea7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf0]
mov ecx, ebx
call fcn.004c26c8
push 7
xor eax, eax
lea edi, [esp + 0xcc]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc4], 0xf
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0xd4], ecx
jmp 0x4c16df
sub esi, 0x20a
je 0x4c1dcd
sub esi, 0x97
je 0x4c1c38
dec esi
dec esi
je 0x4c1bfa
sub esi, 0x75
je 0x4c1b2f
sub esi, 0x7ce9
jne 0x4c1ea7
lea esi, [ebx + 0xf4]
xor edi, edi
mov ecx, esi
call fcn.004befe2
test eax, eax
jle 0x4c1b23
push edi
mov ecx, esi
call fcn.004bf005
test eax, eax
je 0x4c1b17
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, esi
inc edi
call fcn.004befe2
cmp edi, eax
jl 0x4c1b03
mov ecx, esi
call fcn.004bee2f
jmp 0x4c1ea7
lea eax, [esp + 0xc4]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
push edi
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc4]
push eax
push edi
mov edx, dword [ecx]
call dword [edx + pe_nt_image_headers32]
test byte [esp + 0x10], 0x10
je 0x4c1bea
push 5
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
je 0x4c1bea
or dword [esp + 0x10], 2
lea eax, [esp + 0xe4]
xorps xmm0, xmm0
push eax
push esi
movdqu xmmword [esp + 0xec], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [esp + 0xe8]
push eax
push dword [ebx]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [esp + 0xe8]
push 0
neg eax
push eax
mov eax, dword [esp + 0xec]
neg eax
push eax
push edi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push dword [esp + 0x10]
push edi
push 0x317
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
jne 0x4c1b7e
push dword [esp + 0x24]
push edi
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x4c1ea7
cmp dword [ebx + 0x1c], 0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
je 0x4c1c16
lea eax, [ebx + 0x20]
push eax
push 0
push 0x411
push dword [ebx + 0x1c]
call esi
cmp byte [ebx + 0xb5], 0
je 0x4c1c2c
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx]
call esi
mov byte [ebx + 0xb5], 0
jmp 0x4c1ea7
mov eax, dword [esp + 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [esp + 0x28], ecx
push ecx
mov ecx, ebx
mov byte [ebx + 0xb5], 0
mov dword [esp + 0x1c], eax
call fcn.004c3996
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x4c1ea7
mov edx, dword [ebx + 0x58]
test edx, edx
je 0x4c1cc6
push 7
xor eax, eax
lea edi, [esp + 0xcc]
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xc4], 0xc
mov dword [esp + 0xc8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x58]
lea edx, [esp + 0xc4]
mov dword [esp + 0xcc], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x108]
mov eax, dword [esi]
lea ecx, [esp + 0xf4]
push ecx
mov ecx, esi
call dword [eax + 0x98]
and dword [esp + 0x190], 0
lea ecx, [esp + 0xf4]
call fcn.004bf2cb
test al, al
je 0x4c1d01
lea ecx, [esp + 0xf4]
call fcn.004bf1a3
jmp 0x4c0d10
push 0x2c
lea edi, [ebx + 0x20]
push 0
push edi
call fcn.0053ca90
mov eax, dword [ebx]
lea ecx, [esp + 0x100]
add esp, 0xc
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov eax, dword [0x5c3a34]
mov dword [edi], 0x2c
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x40], eax
call fcn.004bf1bc
mov dword [ebx + 0x44], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x30]
mov esi, eax
lea edi, [ebx + 0x30]
xor ecx, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0x1c], ecx
jne 0x4c1d92
push ecx
push dword [0x5c3a34]
mov eax, SysReAllocString
push ecx
push dword [ebx]
push eax
push eax
push eax
push eax
push SysStringLen
push ecx
push str.tooltips_class32
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea edi, [ebx + 0x20]
mov dword [ebx + 0x1c], eax
push edi
push 0
push 0x432
push eax
call esi
jmp 0x4c1d95
lea edi, [ebx + 0x20]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
call dword [eax + 0xa4]
push eax
push 0
push 0x418
push dword [ebx + 0x1c]
call esi
push edi
push 0
push 0x436
push dword [ebx + 0x1c]
call esi
push edi
push 1
push 0x411
push dword [ebx + 0x1c]
call esi
jmp 0x4c1cf0
mov ecx, dword [esp + 0x10]
movsx eax, cx
mov dword [esp + 0x24], eax
mov eax, ecx
shr eax, 0x10
cwde
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
mov dword [ebx + 0x64], ecx
push ecx
mov ecx, ebx
mov dword [ebx + 0x68], eax
call fcn.004c3996
mov esi, eax
test esi, esi
je 0x4c1ea7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4c1ea7
xor eax, eax
lea edi, [esp + 0xc8]
push 7
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
shr ecx, 0x10
test cx, cx
mov dword [esp + 0xc4], 0x12
mov dword [esp + 0xc8], esi
sets al
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe0], eax
call fcn.004bfdcf
mov word [esp + 0xda], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xcc], eax
lea ecx, [esp + 0xc4]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x108]
movzx ecx, word [ebx + 0x68]
movzx eax, word [ebx + 0x64]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x200
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
lea ecx, [ebx + 0x100]
call fcn.004befe9
mov esi, eax
test esi, esi
je 0x4c1f2e
add ebx, 0xb8
push 0
call fcn.004bef7e
mov eax, dword [esi + 0x108]
test eax, eax
je 0x4c1ee7
lea edx, [eax + 0x34]
mov ecx, edx
call fcn.004cf042
test al, al
je 0x4c1ee7
push esi
mov ecx, edx
call fcn.004cf14a
mov ecx, ebx
xor edi, edi
call fcn.004befe2
test eax, eax
jle 0x4c1f0f
push edi
mov ecx, ebx
call fcn.004bf005
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.004befe2
cmp edi, eax
jl 0x4c1ef4
mov ecx, esi
call fcn.004c02c4
push esi
call fcn.0053ba8c
pop ecx
mov ecx, dword [esp + 0x20]
push 0
call fcn.004befe9
mov esi, eax
test esi, esi
jne 0x4c1ec0
xor al, al
mov ecx, dword [esp + 0x188]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0053e21c
mov esp, ebp
pop ebp
ret 0x10