Function at 0x4197d4
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0x18c
mov eax, 0x455a12
call fcn.004421bd
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov ebx, ecx
cmp dword [ebx], 0
mov dword [ebp - 0x17c], eax
je 0x41ad5f
lea ecx, [ebx + 0x1ec]
mov dword [ebp - 0x174], ecx
jmp 0x419898
mov ecx, dword [ebp - 0x174]
push 0
call fcn.004169da
mov eax, dword [edi + 0x108]
test eax, eax
je 0x41983d
lea ecx, [eax + 0x38]
call fcn.00425f4e
test al, al
je 0x41983d
mov ecx, dword [edi + 0x108]
push edi
add ecx, 0x38
call fcn.00425fab
and dword [ebp - 0x168], 0
lea ecx, [ebx + 0x1a4]
call fcn.00416a3b
test eax, eax
jle 0x419884
push dword [ebp - 0x168]
lea ecx, [ebx + 0x1a4]
call fcn.00416a5b
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx]
inc dword [ebp - 0x168]
lea ecx, [ebx + 0x1a4]
call fcn.00416a3b
cmp dword [ebp - 0x168], eax
jl 0x419853
mov ecx, edi
call fcn.00411bf7
push edi
call fcn.004416fe
pop ecx
mov ecx, dword [ebp - 0x174]
push 0
call fcn.00416a3f
mov edi, eax
test edi, edi
jne 0x41980b
and dword [ebp - 0x168], eax
lea ecx, [ebx + 0x1c8]
call fcn.00416a3b
test eax, eax
jle 0x419910
push dword [ebp - 0x168]
lea ecx, [ebx + 0x1c8]
mov byte [ebp - 0x175], 0
call fcn.00416a5b
mov edx, dword [eax]
lea ecx, [ebp - 0x175]
push ecx
push esi
push dword [ebp + 0xc]
mov ecx, eax
push dword [ebp + 8]
call dword [edx]
cmp byte [ebp - 0x175], 0
jne 0x419a32
inc dword [ebp - 0x168]
lea ecx, [ebx + 0x1c8]
call fcn.00416a3b
cmp dword [ebp - 0x168], eax
jl 0x4198be
mov eax, dword [ebp + 8]
mov ecx, 0x112
cmp eax, ecx
ja 0x41a424
je 0x41a408
cmp eax, 0x24
ja 0x41a1f4
je 0x41a1b7
sub eax, 5
je 0x41a164
dec eax
dec eax
je 0x41a10d
sub eax, 8
je 0x419b07
dec eax
je 0x419a77
sub eax, 4
je 0x419a69
sub eax, 4
je 0x419a41
sub eax, 8
jne 0x41acc7
cmp si, 1
jne 0x41acc7
cmp byte [ebx + 0x1a2], al
jne 0x419a3a
and dword [ebp - 0x170], eax
lea edi, [ebp - 0x16c]
stosd dword es:[edi], eax
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x170]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x16c]
mov ecx, ebx
push dword [ebp - 0x170]
call fcn.004190c5
mov dword [ebp - 0x168], eax
test eax, eax
je 0x41acc7
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x14]
test al, 2
je 0x41acc7
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x30], 0x18
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], eax
call fcn.00417415
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
jmp 0x419a3a
mov ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
mov al, 1
jmp 0x41ad61
cmp dword [ebp + 0xc], 1
jne 0x41acc7
cmp byte [ebx + 0x1a0], 0
je 0x41acc7
push 1
push 0
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x41acc7
mov eax, dword [ebp - 0x17c]
mov dword [eax], 1
jmp 0x419a3a
and dword [ebp - 0x30], 0
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x150]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x154]
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x144]
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x419ac0
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0xa
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
mov ecx, dword [ebx + 0x148]
test ecx, ecx
je 0x419ae0
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0xe
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
push 0
mov ecx, ebx
call fcn.0041931a
push 4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x41acc7
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x41acc7
xor eax, eax
xor esi, esi
mov dword [ebp - 0x60], esi
lea edi, [ebp - 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
lea eax, [ebp - 0x60]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
je 0x419a3a
push 0x3c
push esi
cmp dword [ebx + 0x13c], esi
jne 0x419b6c
lea eax, [ebp - 0x160]
push eax
mov dword [ebp - 0x164], esi
call fcn.00442260
add esp, 0xc
lea eax, [ebp - 0x164]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0x164]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x419a3a
lea eax, [ebp - 0x120]
push eax
mov dword [ebp - 0x124], esi
call fcn.00442260
add esp, 0xc
lea eax, [ebp - 0x124]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0x19d], 0
je 0x419ca2
and dword [ebp - 0x20], esi
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx]
mov byte [ebx + 0x19d], 0
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x419ca2
mov ecx, dword [ebx + 0x13c]
call fcn.0042469c
test al, al
je 0x419c57
push dword [ebx]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x419c01
mov ecx, dword [ebx + 0x13c]
mov eax, dword [ecx]
push 1
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x20]
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]
mov eax, dword [ebx + 0xc]
xor esi, esi
cmp eax, esi
je 0x419c11
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebx + 0x10]
cmp eax, esi
je 0x419c1f
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], esi
jmp 0x419c7b
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx]
mov dword [ebp - 0x174], eax
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x168]
push 1
sub esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x174]
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]
mov ecx, dword [ebx + 0x13c]
mov eax, dword [ecx]
push SysReAllocString
push 0
push 0x4186f0
call dword [eax + 0xf4]
mov dword [ebp - 0x168], eax
test eax, eax
jne 0x419c2a
cmp byte [ebx + 0x19c], 0
je 0x419ca2
xor eax, eax
push eax
push eax
push eax
push str.windowinit
push dword [ebx + 0x13c]
mov ecx, ebx
mov byte [ebx + 0x19c], 0
call fcn.00418e40
cmp byte [ebx + 0x19e], 0
je 0x419cb4
push 1
mov ecx, ebx
call fcn.004194df
cmp byte [ebx + 0x1a0], 0
je 0x419f36
push 0xffffffffffffffec
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, 0x80000
test ecx, eax
jne 0x419ce1
or eax, ecx
push eax
push 0xffffffffffffffec
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowLongW]
and dword [ebp - 0x40], 0
xor eax, eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp byte [ebx + 0x28], 0
jne 0x419d1d
lea esi, [ebx + 0x18]
push esi
lea eax, [ebp - 0x60]
push eax
push eax
call dword [sym.imp.USER32.dll_UnionRect]
push 0x10
push 0
push esi
call fcn.00442260
add esp, 0xc
jmp 0x419d2b
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x60]
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 byte [ebx + 0x28], 0
mov esi, dword [ebp - 0x38]
sub esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x34]
sub edi, dword [ebp - 0x3c]
cmp byte [ebx + 0x19f], 0
mov dword [ebp - 0x17c], esi
je 0x419dd5
cmp dword [ebx + 0x10], 0
jne 0x419dd5
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0x2c
mov dword [ebx + 0xc], eax
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.00442260
add esp, 0xc
mov eax, edi
imul edi, esi
neg eax
mov dword [ebp - 0x148], eax
xor eax, eax
push 0x20
inc eax
mov word [ebp - 0x144], ax
pop eax
mov word [ebp - 0x142], ax
xor eax, eax
push eax
push eax
lea ecx, [ebx + 0x14]
push ecx
push eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x150]
push eax
push dword [ebx + 8]
shl edi, 2
mov dword [ebp - 0x150], 0x28
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x13c], edi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [ebx + 0x10], eax
push dword [ebx + 0x10]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0xc]
call esi
push dword [ebx + 0xc]
mov dword [ebp - 0x16c], eax
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x17c]
push dword [ebx + 0x14]
call fcn.0041fb82
mov ecx, dword [ebx + 0x13c]
mov eax, dword [ecx]
add esp, 0xc
lea edx, [ebp - 0x60]
push edx
push dword [ebx + 0xc]
call dword [eax + 0x110]
lea eax, [ebp - 0x60]
push eax
push dword [ebx + 0xc]
mov ecx, ebx
call fcn.00418bd8
and dword [ebp - 0x168], 0
lea ecx, [ebx + 0x1d4]
call fcn.00416a3b
test eax, eax
jle 0x419e84
push dword [ebp - 0x168]
lea ecx, [ebx + 0x1d4]
call fcn.00416a5b
mov edx, dword [eax]
lea ecx, [ebp - 0x11c]
push ecx
push dword [ebx + 0xc]
mov ecx, eax
call dword [edx + 0x128]
inc dword [ebp - 0x168]
lea ecx, [ebx + 0x1d4]
call fcn.00416a3b
cmp dword [ebp - 0x168], eax
jl 0x419e46
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x17c]
push dword [ebx + 0x14]
call fcn.0041fbcd
add esp, 0xc
push dword [ebp - 0x188]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_RestoreDC]
and dword [ebp - 0x20], 0
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
sub edx, eax
push 2
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x14]
sub eax, ecx
mov dword [ebp - 0x180], ecx
lea ecx, [ebp - 0x174]
push ecx
mov dword [ebp - 0x18c], eax
xor eax, eax
push eax
lea ecx, [ebp - 0x198]
push ecx
push dword [ebx + 0xc]
lea ecx, [ebp - 0x190]
push ecx
lea ecx, [ebp - 0x184]
push ecx
push eax
push dword [ebx]
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x174], 0x1ff0000
call dword [sym.imp.USER32.dll_UpdateLayeredWindow]
push dword [ebp - 0x16c]
jmp 0x41a08f
cmp byte [ebx + 0x19f], 0
je 0x41a096
cmp dword [ebx + 0x10], 0
jne 0x419f87
and dword [ebp - 0x20], 0
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx]
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 [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebx + 0x10], eax
cmp byte [ebx + 0x19f], 0
je 0x41a096
push dword [ebx + 0x10]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0xc]
call esi
push dword [ebx + 0xc]
mov dword [ebp - 0x188], eax
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x13c]
lea edx, [ebp - 0x11c]
push edx
push dword [ebx + 0xc]
mov dword [ebp - 0x16c], eax
mov eax, dword [ecx]
call dword [eax + 0x110]
lea eax, [ebp - 0x11c]
push eax
push dword [ebx + 0xc]
mov ecx, ebx
call fcn.00418bd8
and dword [ebp - 0x168], 0
lea ecx, [ebx + 0x1d4]
call fcn.00416a3b
test eax, eax
jle 0x41a034
push dword [ebp - 0x168]
lea ecx, [ebx + 0x1d4]
call fcn.00416a5b
mov edx, dword [eax]
lea ecx, [ebp - 0x11c]
push ecx
push dword [ebx + 0xc]
mov ecx, eax
call dword [edx + 0x128]
inc dword [ebp - 0x168]
lea ecx, [ebx + 0x1d4]
call fcn.00416a3b
cmp dword [ebp - 0x168], eax
jl 0x419ff6
push dword [ebp - 0x16c]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_RestoreDC]
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x118]
push 0xcc0020
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebx + 0xc]
push eax
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x11c]
push eax
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x124]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x188]
push dword [ebx + 0xc]
call esi
jmp 0x41a0e0
push dword [ebp - 0x124]
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x13c]
lea edx, [ebp - 0x11c]
push edx
push dword [ebp - 0x124]
mov esi, eax
mov eax, dword [ecx]
call dword [eax + 0x110]
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0x124]
mov ecx, ebx
call fcn.00418bd8
push esi
push dword [ebp - 0x124]
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [ebp - 0x124]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0x19d], 0
je 0x419a3a
push 0
push 0
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x419a3a
mov edx, dword [ebx + 0x140]
test edx, edx
je 0x41acc7
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x140]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x144], 0x16
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x140], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x140]
mov dword [ebp - 0x13c], eax
lea edx, [ebp - 0x144]
jmp 0x41a7e1
mov edx, dword [ebx + 0x140]
test edx, edx
je 0x41a19d
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x30], 0x17
mov dword [ebp - 0x2c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x140]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
mov ebx, dword [ebx + 0x13c]
test ebx, ebx
je 0x419a3a
mov ecx, ebx
call fcn.004246a3
jmp 0x419a3a
mov eax, dword [ebx + 0x158]
test eax, eax
jle 0x41a1c4
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x15c]
test eax, eax
jle 0x41a1d1
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 0x160]
test eax, eax
jle 0x41a1de
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 0x164]
test eax, eax
jle 0x41acc7
mov dword [esi + 0x24], eax
jmp 0x41acc7
sub eax, 0x4e
je 0x41a3ea
sub eax, 0x2d
je 0x41a35e
sub eax, 0x85
je 0x41a2f1
dec eax
je 0x41a289
dec eax
je 0x41a237
sub eax, 0xf
jne 0x41acc7
test esi, esi
je 0x41acc7
push esi
push dword [ebp + 0xc]
push 0x2111
push esi
jmp 0x41a3fd
cmp dword [ebx + 0x140], 0
je 0x41acc7
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ax, word [ebp + 0xc]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x150]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x154]
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x20], eax
call fcn.00417415
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x140]
jmp 0x41a7db
cmp dword [ebx + 0x14c], 0
je 0x41acc7
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ax, word [ebp + 0xc]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x150]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x154]
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x20], eax
call fcn.00417415
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x14c]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
and dword [ebx + 0x14c], 0
jmp 0x41acc7
cmp dword [ebx + 0x140], 0
je 0x41acc7
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ax, word [ebp + 0xc]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x150]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x154]
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x20], eax
call fcn.00417415
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x140]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
mov eax, dword [ebx + 0x140]
mov dword [ebx + 0x14c], eax
jmp 0x41acc7
movsx eax, si
mov dword [ebp - 0x170], eax
shr esi, 0x10
movsx eax, si
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x170]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebx + 0x148], 0
mov eax, dword [ebp - 0x170]
mov dword [ebx + 0x150], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebx + 0x154], eax
je 0x41acc7
mov ecx, ebx
call fcn.00417d02
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebx + 0x148]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x20], ecx
mov cx, word [ebp + 0xc]
mov dword [ebp - 0x30], 0x12
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x1a], cx
mov dword [ebp - 0x14], eax
jmp 0x41a4d3
test esi, esi
je 0x419a3a
push esi
push dword [ebp + 0xc]
push 0x204e
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x419a32
mov eax, dword [ebp + 0xc]
and eax, 0xfff0
cmp eax, 0xf120
jne 0x419a3a
mov byte [ebx + 0x28], 1
jmp 0x419a3a
mov ecx, 0x203
cmp eax, ecx
ja 0x41a891
je 0x41a7ef
mov ecx, eax
sub ecx, 0x113
je 0x41a731
sub ecx, 0x20
je 0x41a71a
sub ecx, 5
je 0x41a71a
sub ecx, 0xc8
je 0x41a5b5
dec ecx
je 0x41a4fa
dec ecx
jne 0x41acc7
mov ecx, ebx
call fcn.00417d02
mov eax, esi
shr eax, 0x10
cmp dword [ebx + 0x148], 0
cwde
movsx edx, si
mov dword [ebp - 0x180], eax
mov dword [ebx + 0x150], edx
mov dword [ebx + 0x154], eax
je 0x41acc7
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x148]
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x30], 0xe
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x148]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
and dword [ebx + 0x148], 0
jmp 0x41acc7
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, ebx
call fcn.00417cee
mov ecx, esi
shr ecx, 0x10
movsx ecx, cx
movsx eax, si
push ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebx + 0x154], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x170], eax
mov dword [ebx + 0x150], eax
call fcn.004190c5
mov dword [ebp - 0x168], eax
test eax, eax
je 0x41acc7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x41acc7
mov ecx, dword [ebp - 0x168]
mov dword [ebx + 0x148], ecx
mov eax, dword [ecx]
call dword [eax + 0xe8]
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x168]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x30], 0xd
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
jmp 0x41a7e4
cmp byte [ebx + 0x1a1], 0
jne 0x41a60b
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx]
push 3
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x2c]
pop ecx
mov dword [ebp - 0x20], 0x10
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x41a5e8
mov dword [ebp - 0x14], 0x190
jmp 0x41a5fa
push 0
push ecx
push 0x415
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0x1a1], 1
movsx eax, si
shr esi, 0x10
movsx esi, si
push esi
push eax
mov ecx, ebx
mov dword [ebp - 0x184], eax
mov dword [ebx + 0x150], eax
mov dword [ebx + 0x154], esi
call fcn.004190c5
mov dword [ebp - 0x16c], eax
test eax, eax
je 0x41a648
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x41acc7
and dword [ebp - 0x50], 0
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x4c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x144]
mov esi, dword [ebp - 0x16c]
mov dword [ebp - 0x48], eax
cmp esi, ecx
je 0x41a6b5
test ecx, ecx
je 0x41a6b5
lea edx, [ebp - 0x50]
mov dword [ebp - 0x50], 0xa
mov dword [ebp - 0x4c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
mov eax, dword [ebx + 0x2c]
and dword [ebx + 0x144], 0
test eax, eax
je 0x41a6b5
lea ecx, [ebx + 0x30]
push ecx
push 0
push 0x411
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, dword [ebx + 0x144]
je 0x41a6df
test esi, esi
je 0x41a6df
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], 0xb
mov dword [ebp - 0x4c], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x100]
mov dword [ebx + 0x144], esi
mov ecx, dword [ebx + 0x148]
test ecx, ecx
je 0x41a6fb
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x4c], ecx
lea edx, [ebp - 0x50]
jmp 0x41a7e1
test esi, esi
je 0x41acc7
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x4c], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
jmp 0x41a7e4
test esi, esi
je 0x41acc7
push esi
push dword [ebp + 0xc]
add eax, 0x2000
push eax
jmp 0x41a231
mov eax, 0xf1
cmp ax, word [ebp + 0xc]
jne 0x41a756
lea eax, [ebx + 0x60]
push eax
mov ecx, ebx
call fcn.00417959
cmp byte [ebx + 0x70], 0
sete al
mov byte [ebx + 0x70], al
jmp 0x41acc7
and dword [ebp - 0x168], 0
lea ecx, [ebx + 0x1b0]
call fcn.00416a3b
test eax, eax
jle 0x41acc7
push dword [ebp - 0x168]
lea ecx, [ebx + 0x1b0]
call fcn.00416a5b
mov esi, eax
mov eax, dword [esi + 8]
cmp eax, dword [ebx]
jne 0x41a799
movzx eax, word [ebp + 0xc]
cmp dword [esi + 0xc], eax
jne 0x41a799
cmp byte [esi + 0x10], 0
je 0x41a7b7
inc dword [ebp - 0x168]
lea ecx, [ebx + 0x1b0]
call fcn.00416a3b
cmp dword [ebp - 0x168], eax
jl 0x41a770
jmp 0x41acc7
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x30], 0x19
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi]
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x30]
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
jmp 0x41acc7
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, ebx
call fcn.00417cee
movsx eax, si
shr esi, 0x10
movsx ecx, si
push ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebx + 0x154], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x170], eax
mov dword [ebx + 0x150], eax
call fcn.004190c5
mov esi, eax
test esi, esi
je 0x41acc7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
cmp eax, ebx
jne 0x41acc7
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x20], eax
mov ax, word [ebp + 0xc]
mov dword [ebp - 0x30], 0x11
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x100]
mov dword [ebx + 0x148], esi
jmp 0x41acc7
sub eax, 0x204
je 0x41ac13
dec eax
je 0x41aba8
sub eax, 5
je 0x41aacc
sub eax, 0x97
je 0x41a94c
dec eax
dec eax
je 0x41a90f
sub eax, 0x7d5e
jne 0x41acc7
lea ecx, [ebx + 0x1e0]
xor edi, edi
call fcn.00416a3b
test eax, eax
jle 0x41a8ff
push edi
lea ecx, [ebx + 0x1e0]
call fcn.00416a5b
test eax, eax
je 0x41a8ef
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
lea ecx, [ebx + 0x1e0]
inc edi
call fcn.00416a3b
cmp edi, eax
jl 0x41a8d7
lea ecx, [ebx + 0x1e0]
call fcn.004168a3
jmp 0x41acc7
mov eax, dword [ebx + 0x2c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x41a92a
lea ecx, [ebx + 0x30]
push ecx
push 0
push 0x411
push eax
call esi
cmp byte [ebx + 0x1a1], 0
je 0x41a940
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx]
call esi
mov byte [ebx + 0x1a1], 0
jmp 0x41acc7
movsx eax, si
shr esi, 0x10
movsx esi, si
push esi
push eax
mov ecx, ebx
mov byte [ebx + 0x1a1], 0
mov dword [ebp - 0x184], eax
call fcn.004190c5
mov dword [ebp - 0x168], eax
test eax, eax
je 0x41acc7
mov edx, dword [ebx + 0x144]
test edx, edx
je 0x41a9be
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], 0xc
mov dword [ebp - 0x2c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x144]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx]
lea edx, [ebp - 0xe4]
push edx
call dword [eax + 0x90]
and dword [ebp - 4], 0
lea ecx, [ebp - 0xe4]
call fcn.00416bc0
test al, al
je 0x41a9fa
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.00416a92
jmp 0x419a3a
push 0x30
pop edi
push edi
lea esi, [ebx + 0x30]
push 0
push esi
call fcn.00442260
mov eax, dword [ebx]
mov dword [esi], edi
mov dword [ebx + 0x34], 1
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov eax, dword [0x46f334]
add esp, 0xc
lea ecx, [ebp - 0xe4]
mov dword [ebx + 0x50], eax
call fcn.00416aac
mov ecx, dword [ebp - 0x168]
mov dword [ebx + 0x54], eax
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp dword [ebx + 0x2c], 0
lea edi, [ebx + 0x40]
mov esi, eax
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]
jne 0x41aa8c
xor edi, edi
push edi
push dword [0x46f334]
mov eax, SysReAllocString
push edi
push dword [ebx]
push eax
push eax
push eax
push eax
push SysStringLen
push edi
push str.tooltips_class32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [ebx + 0x30]
push ecx
push edi
push 0x432
push eax
mov dword [ebx + 0x2c], eax
call esi
jmp 0x41aa8e
xor edi, edi
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx]
call dword [eax + 0x9c]
push eax
push edi
push 0x418
push dword [ebx + 0x2c]
call esi
lea eax, [ebx + 0x30]
push eax
push edi
push 0x436
push dword [ebx + 0x2c]
call esi
lea eax, [ebx + 0x30]
push eax
push 1
push 0x411
push dword [ebx + 0x2c]
call esi
jmp 0x41a9e6
movsx eax, si
mov dword [ebp - 0x170], eax
mov eax, esi
shr eax, 0x10
cwde
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x170]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x170]
push ecx
mov dword [ebx + 0x154], ecx
push eax
mov ecx, ebx
mov dword [ebx + 0x150], eax
call fcn.004190c5
mov dword [ebp - 0x168], eax
test eax, eax
je 0x41acc7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x41acc7
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
shr eax, 0x10
test ax, ax
sets cl
mov dword [ebp - 0x30], 0x13
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ecx
call fcn.00417415
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x168]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x100]
movzx eax, word [ebx + 0x154]
movzx ecx, word [ebx + 0x150]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x200
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x41acc7
mov ecx, ebx
call fcn.00417d02
mov ecx, esi
shr ecx, 0x10
movsx ecx, cx
movsx eax, si
push ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebx + 0x154], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x170], eax
mov dword [ebx + 0x150], eax
call fcn.004190c5
mov edx, eax
mov dword [ebx + 0x148], edx
test edx, edx
je 0x41acc7
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x30], 0x10
mov dword [ebp - 0x2c], edx
jmp 0x41a4c3
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, esi
shr ecx, 0x10
movsx ecx, cx
movsx eax, si
push ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebx + 0x154], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x170], eax
mov dword [ebx + 0x150], eax
call fcn.004190c5
mov dword [ebp - 0x168], eax
test eax, eax
je 0x41acc7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x41acc7
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx]
call dword [eax + 0xe8]
mov ecx, ebx
call fcn.00417cee
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x168]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x100]
mov dword [ebx + 0x148], edi
mov ecx, dword [ebp - 0x174]
push 0
call fcn.00416a3f
mov edi, eax
test edi, edi
je 0x41ad5f
add ebx, 0x1a4
mov ecx, dword [ebp - 0x174]
push 0
call fcn.004169da
mov eax, dword [edi + 0x108]
test eax, eax
je 0x41ad16
lea ecx, [eax + 0x38]
call fcn.00425f4e
test al, al
je 0x41ad16
mov ecx, dword [edi + 0x108]
push edi
add ecx, 0x38
call fcn.00425fab
mov ecx, ebx
xor esi, esi
call fcn.00416a3b
test eax, eax
jle 0x41ad3e
push esi
mov ecx, ebx
call fcn.00416a5b
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx]
mov ecx, ebx
inc esi
call fcn.00416a3b
cmp esi, eax
jl 0x41ad23
mov ecx, edi
call fcn.00411bf7
push edi
call fcn.004416fe
pop ecx
mov ecx, dword [ebp - 0x174]
push 0
call fcn.00416a3f
mov edi, eax
test edi, edi
jne 0x41ace4
xor al, al
call fcn.00442240
ret 0x10