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

Disassembly:
push 0x168
mov eax, 0x4a4004
call fcn.00481082
mov ebx, ecx
mov dword [ebp - 0x144], ebx
cmp dword [ebx + 8], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x14c], eax
je 0x448adc
lea eax, [ebx + 0x11c]
push 0
mov ecx, eax
mov dword [ebp - 0x154], eax
call fcn.00445181
mov esi, eax
test esi, esi
je 0x44777c
lea eax, [ebx + 0xd4]
mov edi, eax
mov ecx, dword [ebp - 0x154]
push 0
call fcn.00445431
mov ecx, dword [esi + 0x108]
test ecx, ecx
je 0x44771d
add ecx, 0x38
call fcn.0045a170
test al, al
je 0x44771d
mov ecx, dword [esi + 0x108]
push esi
add ecx, 0x38
call fcn.0045a184
mov ecx, edi
xor ebx, ebx
call fcn.004451fa
test eax, eax
jle 0x447745
push ebx
mov ecx, edi
call fcn.0040d5f9
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, edi
inc ebx
call fcn.004451fa
cmp ebx, eax
jl 0x44772a
mov ecx, esi
call fcn.00445e57
push pe_nt_image_headers32
push esi
call fcn.00480fed
pop ecx
pop ecx
mov ecx, dword [ebp - 0x154]
push 0
call fcn.00445181
mov esi, eax
test esi, esi
jne 0x4476eb
mov ebx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x138]
and dword [ebp - 0x134], 0
lea ecx, [ebx + 0xf8]
call fcn.004451fa
mov esi, dword [ebp + 8]
test eax, eax
jle 0x4477eb
mov ecx, dword [ebp - 0x134]
push ecx
lea ecx, [ebx + 0xf8]
mov byte [ebp - 0x13d], 0
call fcn.0040d5f9
lea ecx, [ebp - 0x13d]
push ecx
push edi
push dword [ebp - 0x12c]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx]
cmp byte [ebp - 0x13d], 0
jne 0x44787c
inc dword [ebp - 0x134]
lea ecx, [ebx + 0xf8]
call fcn.004451fa
mov ecx, dword [ebp - 0x134]
cmp ecx, eax
jl 0x44779b
mov eax, 0x113
cmp esi, eax
ja 0x4481e0
je 0x4480e7
cmp esi, 0x4e
ja 0x447eb1
je 0x447e90
sub esi, 5
je 0x447e1e
sub esi, 0xa
je 0x447a0d
sub esi, 1
je 0x44797f
sub esi, 4
je 0x44796f
sub esi, 0xc
je 0x44788b
sub esi, 4
jne 0x448a3e
mov eax, dword [ebx + 0x88]
test eax, eax
jle 0x44784c
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x8c]
test eax, eax
jle 0x447859
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x90]
test eax, eax
jle 0x447866
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 0x94]
test eax, eax
jle 0x448a3e
mov dword [edi + 0x24], eax
jmp 0x448a3e
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
mov al, 1
jmp 0x448ade
xor eax, eax
inc eax
cmp di, ax
jne 0x448a3e
cmp byte [ebx + 0xd1], 0
jne 0x448ade
lea eax, [ebp - 0x150]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x150], xmm0
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x150]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x14c]
mov ecx, ebx
push dword [ebp - 0x150]
call fcn.00446953
mov esi, eax
test esi, esi
je 0x448a3e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x14]
test al, 2
je 0x448a3e
mov eax, dword [ebp - 0x12c]
xorps xmm0, xmm0
and dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x14c]
movlpd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x174], 0x17
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x164], eax
call fcn.0044763c
mov word [ebp - 0x15e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16c], eax
lea ecx, [ebp - 0x174]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
xor eax, eax
inc eax
jmp 0x448ade
mov ecx, dword [ebp - 0x14c]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x448ade
mov eax, dword [ebx + 0x80]
xorps xmm0, xmm0
and dword [ebp - 0x14], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x30], xmm0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x4479c8
mov dword [ebp - 0x30], 0xa
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x10c]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x4479e5
mov dword [ebp - 0x30], 0xe
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x10c]
push 0
mov ecx, ebx
call fcn.0044994a
push 4
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x448a3e
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x448a3e
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
push 0x40
push 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00484250
add esp, 0xc
lea eax, [ebp - 0x50]
xor esi, esi
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
inc eax
cmp dword [ebx + 0x6c], esi
je 0x447a67
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x447a64
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x447a6b
xor eax, eax
inc eax
mov esi, eax
jmp 0x447a6e
xor eax, eax
inc eax
cmp byte [ebx + 0xce], 0
je 0x447a7f
push eax
mov ecx, ebx
call fcn.00449ca7
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00447015
test al, al
push 1
pop eax
cmove esi, eax
test esi, esi
je 0x447aa6
mov ecx, ebx
call fcn.004467df
jmp 0x447884
cmp byte [ebx + 0xcd], 0
je 0x447ae1
mov ecx, dword [ebx + 0x6c]
mov byte [ebx + 0xcd], 0
call fcn.00452ec3
test al, al
je 0x447ad6
cmp byte [ebx + 0x2f9], 0
je 0x447ad6
lea eax, [ebx + 0x24]
mov ecx, ebx
push eax
call fcn.00448fe2
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
call fcn.0044a030
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0xcf], 0
je 0x447d5b
mov ecx, dword [ebp - 0x48]
lea edi, [ebx + 0x10]
mov eax, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x50]
sub eax, dword [ebp - 0x4c]
cmp dword [edi], 0
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x144], eax
je 0x447b2d
cmp dword [ebx + 0x1c], ecx
jne 0x447b2d
cmp dword [ebx + 0x20], eax
jne 0x447b2d
lea esi, [ebx + 0xc]
jmp 0x447b5c
push edi
mov ecx, ebx
call fcn.00448fe2
push edi
push dword [ebp - 0x144]
lea esi, [ebx + 0xc]
mov ecx, ebx
push dword [ebp - 0x134]
mov dword [ebp - 0x12c], esi
push dword [esi]
call fcn.00446721
test al, al
je 0x447d9c
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x154], esi
je 0x447bdc
lea ecx, [ebx + 0x274]
call fcn.00445349
test al, al
jne 0x447bdc
lea edx, [ebx + 0x24]
mov dword [ebp - 0x12c], esi
cmp dword [edx], 0
mov ecx, esi
je 0x447bac
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x12c], esi
cmp dword [ebx + 0x30], eax
jne 0x447bac
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x12c], esi
cmp dword [ebx + 0x34], eax
je 0x447bdc
push edx
mov ecx, ebx
call fcn.00448fe2
lea eax, [ebx + 0x24]
mov ecx, ebx
push eax
push dword [ebp - 0x144]
push dword [ebp - 0x134]
push dword [esi]
call fcn.00446721
test al, al
je 0x447d9c
mov byte [ebx + 0x2f8], 1
push dword [edi]
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x138], eax
je 0x447c16
movzx ecx, byte [ebx + 0x2f8]
lea eax, [ebx + 0x24]
push ecx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push eax
push edi
mov ecx, ebx
call fcn.00446829
mov byte [ebx + 0x2f8], 0
sub esp, 0x10
lea esi, [ebp - 0x64]
mov edi, esp
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x10]
push dword [esi]
call fcn.00448ca3
mov al, byte [ebx + 0x2f9]
test al, al
je 0x447d07
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebx + 0x24]
push eax
push esi
call fcn.004465fc
mov al, byte [ebx + 0x2f9]
test al, al
je 0x447d07
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [ebx + 0x270]
xor ecx, ecx
mov byte [ebp - 0x132], al
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x4c]
push 2
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x134]
push eax
push ecx
lea eax, [ebp - 0x148]
mov word [ebp - 0x134], cx
push eax
push dword [esi]
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x38]
mov byte [ebp - 0x131], 1
push eax
push dword [esi]
mov dword [ebp - 0x148], ecx
push dword [ebx + 8]
mov dword [ebp - 0x144], ecx
call dword [0x4d2358]
test eax, eax
jne 0x447cff
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x447cff
call fcn.00452f1e
mov dword [ebp - 0x12c], esi
jmp 0x447d4a
mov eax, dword [ebp - 0x58]
lea esi, [ebx + 0xc]
sub eax, dword [ebp - 0x60]
push 0xcc0020
push dword [ebp - 0x60]
mov dword [ebp - 0x12c], esi
push dword [ebp - 0x64]
push dword [ebx + 0x10]
push eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x64]
push eax
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [esi]
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x447d4a
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x447d4a
call fcn.00452f1e
push dword [ebp - 0x138]
push dword [ebx + 0x10]
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x447d9c
lea eax, [ebx + 0xc]
push dword [eax]
mov dword [ebp - 0x12c], eax
call dword [sym.imp.GDI32.dll_SaveDC]
sub esp, 0x10
mov ecx, dword [ebp - 0x144]
mov edi, esp
lea esi, [ebp - 0x64]
mov ebx, 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 [ebp - 0x12c]
push dword [esi]
call fcn.00448ca3
push ebx
push dword [esi]
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ebx, dword [ebp - 0x144]
cmp byte [ebx + 0x68], 0
je 0x447df5
cmp byte [ebx + 0x2f9], 0
jne 0x447df5
push dword [0x4d235c]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [esi]
call edi
push 5
mov esi, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
mov eax, dword [ebp - 0x12c]
push dword [eax]
call edi
push dword [ebp - 0x58]
mov eax, dword [ebp - 0x12c]
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [eax]
call dword [sym.imp.GDI32.dll_Rectangle]
mov eax, dword [ebp - 0x12c]
push esi
push dword [eax]
call edi
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0xcd], 0
je 0x447884
mov ecx, ebx
call fcn.004471c2
jmp 0x447884
xor eax, eax
inc eax
cmp dword [ebp - 0x12c], eax
je 0x447e83
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x447e64
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0x16
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x447e70
call fcn.00452f1e
cmp byte [ebx + 0x2f9], 0
je 0x447e80
mov ecx, ebx
call fcn.004471c2
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
jmp 0x448adc
test edi, edi
je 0x447884
push edi
push dword [ebp - 0x12c]
push 0x204e
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x44787c
sub esi, 0x7b
je 0x448030
push 3
pop ecx
sub esi, ecx
je 0x448024
sub esi, 0x82
je 0x447fbc
sub esi, 1
je 0x447f52
sub esi, 1
je 0x447efb
sub esi, 0xf
jne 0x448a3e
test edi, edi
je 0x448a3e
push edi
push dword [ebp - 0x12c]
push 0x2111
push edi
jmp 0x447ea6
cmp dword [ebx + 0x70], 0
je 0x448a3e
xor eax, eax
mov dword [ebp - 0x30], 5
mov word [ebp - 0x12], ax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x1a], xmm0
mov dword [ebp - 0x20], eax
call fcn.0044763c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
jmp 0x4481cc
cmp dword [ebx + 0x7c], 0
je 0x448a3e
xor eax, eax
mov dword [ebp - 0x30], 4
mov word [ebp - 0x12], ax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x1a], xmm0
mov dword [ebp - 0x20], eax
call fcn.0044763c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x7c]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
and dword [ebx + 0x7c], 0
jmp 0x448a3e
cmp dword [ebx + 0x70], 0
je 0x448a3e
xor eax, eax
mov dword [ebp - 0x30], ecx
mov word [ebp - 0x12], ax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x1a], xmm0
mov dword [ebp - 0x20], eax
call fcn.0044763c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
mov eax, dword [ebx + 0x70]
mov dword [ebx + 0x7c], eax
jmp 0x448a3e
mov ecx, ebx
call fcn.004471c2
jmp 0x448a3e
mov ecx, ebx
call fcn.00448fd0
movsx eax, di
mov dword [ebp - 0x13c], eax
shr edi, 0x10
movsx eax, di
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x13c]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebx + 0x78]
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
test ecx, ecx
jne 0x44809d
push edx
push eax
mov ecx, ebx
call fcn.00446953
mov ecx, eax
mov dword [ebx + 0x78], ecx
test ecx, ecx
je 0x448a3e
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x13c]
and dword [ebp - 0x28], 0
xor esi, esi
and dword [ebp - 0x18], esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], si
mov dword [ebp - 0x30], 0x11
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], edx
mov word [ebp - 0x1a], ax
mov dword [ebp - 0x14], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x78]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
and dword [ebx + 0x78], esi
jmp 0x448a3e
mov eax, dword [ebp - 0x12c]
mov ecx, 0x2000
movzx eax, ax
mov dword [ebp - 0x138], eax
cmp ax, cx
jne 0x44814d
cmp byte [ebx + 0x2f9], 0
je 0x44814d
lea esi, [ebx + 0x2fc]
push esi
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x44814d
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x448a3e
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x448a3e
push 1
push esi
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x448a3e
lea esi, [ebx + 0xe0]
xor edi, edi
mov ecx, esi
call fcn.004451fa
test eax, eax
jle 0x448a3e
push edi
mov ecx, esi
call fcn.0040d5f9
mov esi, eax
mov ecx, dword [esi + 8]
cmp ecx, dword [ebx + 8]
jne 0x44818a
mov eax, dword [ebp - 0x138]
movzx ecx, ax
cmp dword [esi + 0xc], ecx
jne 0x44818a
cmp byte [esi + 0x10], 0
je 0x4481a1
lea esi, [ebx + 0xe0]
inc edi
mov ecx, esi
call fcn.004451fa
cmp edi, eax
jl 0x448164
jmp 0x448a3e
mov eax, dword [esi]
xorps xmm0, xmm0
and dword [ebp - 0x14], 0
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 4]
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x30], 0x18
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
lea edx, [ebp - 0x30]
push edx
call dword [eax + 0x10c]
jmp 0x448a3e
mov eax, 0x204
cmp esi, eax
ja 0x4485d8
je 0x448547
mov eax, esi
sub eax, 0x133
je 0x44852c
sub eax, 5
je 0x44852c
sub eax, 0xc8
je 0x4483d5
sub eax, 1
je 0x448331
sub eax, 1
je 0x4482cd
sub eax, 1
jne 0x448a3e
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SetFocus]
movsx eax, di
mov ecx, ebx
shr edi, 0x10
movsx edi, di
push edi
push eax
mov dword [ebp - 0x138], eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edi
call fcn.00446953
mov esi, eax
test esi, esi
je 0x448a3e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x448a3e
mov ecx, ebx
call fcn.004496d3
and dword [ebp - 0x28], 0
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x18], xmm0
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x30], 0x10
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x30]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
mov dword [ebx + 0x78], esi
jmp 0x448a3e
mov ecx, ebx
call fcn.00448fd0
mov eax, edi
movsx ecx, di
shr eax, 0x10
movsx edx, ax
mov eax, dword [ebx + 0x78]
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], edx
test eax, eax
je 0x448a3e
and dword [ebp - 0x28], 0
xor esi, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], si
mov dword [ebp - 0x30], 0xe
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x78]
and dword [ebx + 0x78], esi
jmp 0x4481cc
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, edi
movsx ecx, di
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x138], ecx
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x84], eax
call fcn.00446953
mov esi, eax
test esi, esi
je 0x448a3e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x448a3e
mov dword [ebx + 0x78], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xf4]
mov ecx, ebx
call fcn.004496d3
mov ecx, dword [ebp - 0x138]
xor eax, eax
and dword [ebp - 0x28], 0
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x30], 0xd
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
jmp 0x44851f
cmp byte [ebx + 0xd0], 0
jne 0x448425
cmp dword [ebx + 0x38], 0
mov eax, dword [ebx + 8]
push 3
pop ecx
mov dword [ebp - 0x50], 0x10
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
jne 0x448400
mov dword [ebp - 0x44], 0x190
jmp 0x448414
push 0
push ecx
push 0x415
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0xd0], 1
mov eax, edi
movsx ecx, di
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x138], ecx
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x84], eax
call fcn.00446953
mov esi, eax
test esi, esi
je 0x448464
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x448a3e
mov eax, dword [ebp - 0x138]
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x28], eax
mov eax, ecx
cmp esi, ecx
je 0x4484d4
test ecx, ecx
je 0x4484d4
mov dword [ebp - 0x30], 0xa
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x10c]
and dword [ebx + 0x74], 0
xor eax, eax
cmp dword [ebx + 0x38], eax
je 0x4484d4
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x74]
cmp esi, eax
je 0x4484f7
test esi, esi
je 0x4484f7
mov dword [ebp - 0x30], 0xb
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
mov dword [ebx + 0x74], esi
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x44850d
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], ecx
jmp 0x4481cf
test esi, esi
je 0x448a3e
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], esi
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
jmp 0x4481d5
test edi, edi
je 0x448a3e
push edi
push dword [ebp - 0x12c]
lea eax, [esi + 0x2000]
push eax
jmp 0x447ef8
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, edi
movsx ecx, di
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x138], ecx
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x84], eax
call fcn.00446953
mov esi, eax
test esi, esi
je 0x448a3e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x448a3e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
mov ecx, ebx
call fcn.004496d3
and dword [ebp - 0x28], 0
xor eax, eax
mov ecx, dword [ebp - 0x138]
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ecx
jmp 0x4482a7
sub esi, 0x20a
je 0x448977
sub esi, 0x97
je 0x4487f6
dec esi
sub esi, 1
je 0x4487b7
sub esi, 0x75
je 0x448650
sub esi, 0x7ce9
jne 0x448a3e
lea esi, [ebx + 0x110]
xor edi, edi
mov ecx, esi
call fcn.004451fa
test eax, eax
jle 0x448644
push edi
mov ecx, esi
call fcn.0040d5f9
test eax, eax
je 0x448632
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, esi
inc edi
call fcn.004451fa
cmp edi, eax
jl 0x44861e
mov ebx, dword [ebp - 0x144]
mov ecx, esi
call fcn.00444f9f
jmp 0x448a3e
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x54]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x447884
cmp byte [ebx + 0xcd], al
je 0x44869f
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0044a030
mov esi, dword [ebp - 0x12c]
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x34]
mov ecx, ebx
sub eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push eax
push esi
call fcn.00446721
test al, al
je 0x44879c
cmp byte [ebx + 0x2f9], 0
je 0x448701
lea ecx, [ebx + 0x274]
call fcn.00445349
test al, al
jne 0x448701
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push eax
push esi
call fcn.00446721
test al, al
je 0x44879c
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x138], eax
je 0x44872d
push 1
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00446829
sub esp, 0x10
lea esi, [ebp - 0x40]
mov edi, esp
mov ecx, ebx
push dword [ebp - 0x24]
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 fcn.00448ca3
cmp byte [ebx + 0x2f9], 0
je 0x448760
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004465fc
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x12c]
push 0xcc0020
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x138]
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.00448fe2
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
call fcn.00448fe2
jmp 0x448a3e
cmp dword [ebx + 0x38], 0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
je 0x4487d3
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call esi
cmp byte [ebx + 0xd0], 0
je 0x4487ea
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx + 8]
call esi
mov byte [ebx + 0xd0], 0
jmp 0x448a3e
movsx eax, di
mov ecx, ebx
shr edi, 0x10
movsx edi, di
push edi
push eax
mov byte [ebx + 0xd0], 0
mov dword [ebp - 0x138], eax
call fcn.00446953
mov esi, eax
mov dword [ebp - 0x144], esi
test esi, esi
je 0x448a3e
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x44886a
mov ecx, dword [ebp - 0x138]
xorps xmm0, xmm0
and dword [ebp - 0x28], 0
and dword [ebp - 0x14], 0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], 0xc
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
cmp byte [ebx + 4], 0
je 0x448a3e
mov eax, dword [esi]
lea ecx, [ebp - 0x128]
push ecx
mov ecx, esi
call dword [eax + 0x9c]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x128]
call fcn.00445349
test al, al
je 0x4488a8
lea ecx, [ebp - 0x128]
call fcn.00444c7e
jmp 0x447884
push 0x2c
lea edi, [ebx + 0x3c]
push 0
push edi
call fcn.00484250
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x128]
add esp, 0xc
mov dword [edi], 0x2c
mov dword [ebx + 0x40], 1
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov eax, dword [0x4d2338]
mov dword [ebx + 0x5c], eax
call fcn.0040d608
mov dword [ebx + 0x60], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x30]
mov esi, eax
lea edi, [ebx + 0x4c]
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 edi, dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0x38], ecx
jne 0x44893a
push ecx
push dword [0x4d2338]
mov eax, SysReAllocStringLen
push ecx
push dword [ebx + 8]
push eax
push eax
push eax
push eax
push SysReAllocStringLen
push ecx
push str.tooltips_class32
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea esi, [ebx + 0x3c]
mov dword [ebx + 0x38], eax
push esi
push 0
push 0x432
push eax
call edi
jmp 0x44893d
lea esi, [ebx + 0x3c]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ecx]
call dword [eax + 0xa8]
push eax
push 0
push 0x418
push dword [ebx + 0x38]
call edi
push esi
push 0
push 0x436
push dword [ebx + 0x38]
call edi
push esi
push 1
push 0x411
push dword [ebx + 0x38]
call edi
jmp 0x448898
movsx eax, di
mov dword [ebp - 0x13c], eax
mov eax, edi
shr eax, 0x10
cwde
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x13c]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x13c]
push eax
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebx + 0x84], eax
call fcn.00446953
mov esi, eax
test esi, esi
je 0x448a3e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x448a3e
mov eax, dword [ebp - 0x12c]
xorps xmm0, xmm0
shr eax, 0x10
movzx eax, ax
shr eax, 0xf
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x30], 0x12
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
call fcn.0044763c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x30]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
movzx ecx, word [ebx + 0x84]
movzx eax, word [ebx + 0x80]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x200
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
lea edi, [ebx + 0x11c]
push 0
mov ecx, edi
call fcn.00445181
mov esi, eax
test esi, esi
je 0x448adc
add ebx, 0xd4
push 0
mov ecx, edi
call fcn.00445431
mov ecx, dword [esi + 0x108]
test ecx, ecx
je 0x448a8b
add ecx, 0x38
call fcn.0045a170
test al, al
je 0x448a8b
mov ecx, dword [esi + 0x108]
push esi
add ecx, 0x38
call fcn.0045a184
mov ecx, ebx
xor edi, edi
call fcn.004451fa
test eax, eax
jle 0x448ab3
push edi
mov ecx, ebx
call fcn.0040d5f9
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.004451fa
cmp edi, eax
jl 0x448a98
mov ecx, esi
call fcn.00445e57
push pe_nt_image_headers32
push esi
call fcn.00480fed
mov edi, dword [ebp - 0x154]
pop ecx
pop ecx
push 0
mov ecx, edi
call fcn.00445181
mov esi, eax
test esi, esi
jne 0x448a5d
xor al, al
call fcn.0048102c
ret 0x10