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

Disassembly:
push 0x168
mov eax, 0x4d8e94
call fcn.004a9c62
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 0x470178
lea eax, [ebx + 0x11c]
push 0
mov ecx, eax
mov dword [ebp - 0x154], eax
call fcn.00474fc7
mov esi, eax
test esi, esi
je 0x46ee18
lea eax, [ebx + 0xd4]
mov edi, eax
mov ecx, dword [ebp - 0x154]
push 0
call fcn.00475275
mov ecx, dword [esi + 0x108]
test ecx, ecx
je 0x46edb9
add ecx, 0x38
call fcn.004818c8
test al, al
je 0x46edb9
mov ecx, dword [esi + 0x108]
push esi
add ecx, 0x38
call fcn.004818dc
mov ecx, edi
xor ebx, ebx
call fcn.0046c92b
test eax, eax
jle 0x46ede1
push ebx
mov ecx, edi
call fcn.00412277
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, edi
inc ebx
call fcn.0046c92b
cmp ebx, eax
jl 0x46edc6
mov ecx, esi
call fcn.0043fe00
push 0x120
push esi
call fcn.004a8e28
pop ecx
pop ecx
mov ecx, dword [ebp - 0x154]
push 0
call fcn.00474fc7
mov esi, eax
test esi, esi
jne 0x46ed87
mov ebx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x138]
and dword [ebp - 0x134], 0
lea ecx, [ebx + 0xf8]
call fcn.0046c92b
mov esi, dword [ebp + 8]
test eax, eax
jle 0x46ee87
mov ecx, dword [ebp - 0x134]
push ecx
lea ecx, [ebx + 0xf8]
mov byte [ebp - 0x13d], 0
call fcn.00412277
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 0x46ef18
inc dword [ebp - 0x134]
lea ecx, [ebx + 0xf8]
call fcn.0046c92b
mov ecx, dword [ebp - 0x134]
cmp ecx, eax
jl 0x46ee37
mov eax, 0x113
cmp esi, eax
ja 0x46f87c
je 0x46f783
cmp esi, 0x4e
ja 0x46f54d
je 0x46f52c
sub esi, 5
je 0x46f4ba
sub esi, 0xa
je 0x46f0a9
sub esi, 1
je 0x46f01b
sub esi, 4
je 0x46f00b
sub esi, 0xc
je 0x46ef27
sub esi, 4
jne 0x4700da
mov eax, dword [ebx + 0x88]
test eax, eax
jle 0x46eee8
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x8c]
test eax, eax
jle 0x46eef5
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x90]
test eax, eax
jle 0x46ef02
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 0x94]
test eax, eax
jle 0x4700da
mov dword [edi + 0x24], eax
jmp 0x4700da
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
mov al, 1
jmp 0x47017a
xor eax, eax
inc eax
cmp di, ax
jne 0x4700da
cmp byte [ebx + 0xd1], 0
jne 0x47017a
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.0046df66
mov esi, eax
test esi, esi
je 0x4700da
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x14]
test al, 2
je 0x4700da
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.0046ecd8
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 0x47017a
mov ecx, dword [ebp - 0x14c]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x47017a
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 0x46f064
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 0x46f081
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.00471031
push 4
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x4700da
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x4700da
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.004ab9a0
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 0x46f103
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x46f100
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x46f107
xor eax, eax
inc eax
mov esi, eax
jmp 0x46f10a
xor eax, eax
inc eax
cmp byte [ebx + 0xce], 0
je 0x46f11b
push eax
mov ecx, ebx
call fcn.0047138e
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0046e6aa
test al, al
push 1
pop eax
cmove esi, eax
test esi, esi
je 0x46f142
mov ecx, ebx
call fcn.0046ddf2
jmp 0x46ef20
cmp byte [ebx + 0xcd], 0
je 0x46f17d
mov ecx, dword [ebx + 0x6c]
mov byte [ebx + 0xcd], 0
call fcn.0048271e
test al, al
je 0x46f172
cmp byte [ebx + 0x2f9], 0
je 0x46f172
lea eax, [ebx + 0x24]
mov ecx, ebx
push eax
call fcn.004706c9
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
call fcn.00471717
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0xcf], 0
je 0x46f3f7
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 0x46f1c9
cmp dword [ebx + 0x1c], ecx
jne 0x46f1c9
cmp dword [ebx + 0x20], eax
jne 0x46f1c9
lea esi, [ebx + 0xc]
jmp 0x46f1f8
push edi
mov ecx, ebx
call fcn.004706c9
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.0046dd34
test al, al
je 0x46f438
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x154], esi
je 0x46f278
lea ecx, [ebx + 0x274]
call fcn.0047518d
test al, al
jne 0x46f278
lea edx, [ebx + 0x24]
mov dword [ebp - 0x12c], esi
cmp dword [edx], 0
mov ecx, esi
je 0x46f248
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x12c], esi
cmp dword [ebx + 0x30], eax
jne 0x46f248
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x12c], esi
cmp dword [ebx + 0x34], eax
je 0x46f278
push edx
mov ecx, ebx
call fcn.004706c9
lea eax, [ebx + 0x24]
mov ecx, ebx
push eax
push dword [ebp - 0x144]
push dword [ebp - 0x134]
push dword [esi]
call fcn.0046dd34
test al, al
je 0x46f438
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 0x46f2b2
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.0046de3c
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.0047038a
mov al, byte [ebx + 0x2f9]
test al, al
je 0x46f3a3
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.0046dc0f
mov al, byte [ebx + 0x2f9]
test al, al
je 0x46f3a3
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 [0x513838]
test eax, eax
jne 0x46f39b
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x46f39b
call fcn.00482779
mov dword [ebp - 0x12c], esi
jmp 0x46f3e6
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 0x46f3e6
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x46f3e6
call fcn.00482779
push dword [ebp - 0x138]
push dword [ebx + 0x10]
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x46f438
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.0047038a
push ebx
push dword [esi]
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ebx, dword [ebp - 0x144]
cmp byte [ebx + 0x68], 0
je 0x46f491
cmp byte [ebx + 0x2f9], 0
jne 0x46f491
push dword [0x51383c]
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 0x46ef20
mov ecx, ebx
call fcn.0046e85e
jmp 0x46ef20
xor eax, eax
inc eax
cmp dword [ebp - 0x12c], eax
je 0x46f51f
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x46f500
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 0x46f50c
call fcn.00482779
cmp byte [ebx + 0x2f9], 0
je 0x46f51c
mov ecx, ebx
call fcn.0046e85e
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
jmp 0x470178
test edi, edi
je 0x46ef20
push edi
push dword [ebp - 0x12c]
push 0x204e
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x46ef18
sub esi, 0x7b
je 0x46f6cc
push 3
pop ecx
sub esi, ecx
je 0x46f6c0
sub esi, 0x82
je 0x46f658
sub esi, 1
je 0x46f5ee
sub esi, 1
je 0x46f597
sub esi, 0xf
jne 0x4700da
test edi, edi
je 0x4700da
push edi
push dword [ebp - 0x12c]
push 0x2111
push edi
jmp 0x46f542
cmp dword [ebx + 0x70], 0
je 0x4700da
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.0046ecd8
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
jmp 0x46f868
cmp dword [ebx + 0x7c], 0
je 0x4700da
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.0046ecd8
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 0x4700da
cmp dword [ebx + 0x70], 0
je 0x4700da
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.0046ecd8
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 0x4700da
mov ecx, ebx
call fcn.0046e85e
jmp 0x4700da
mov ecx, ebx
call fcn.004706b7
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 0x46f739
push edx
push eax
mov ecx, ebx
call fcn.0046df66
mov ecx, eax
mov dword [ebx + 0x78], ecx
test ecx, ecx
je 0x4700da
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 0x4700da
mov eax, dword [ebp - 0x12c]
mov ecx, 0x2000
movzx eax, ax
mov dword [ebp - 0x138], eax
cmp ax, cx
jne 0x46f7e9
cmp byte [ebx + 0x2f9], 0
je 0x46f7e9
lea esi, [ebx + 0x2fc]
push esi
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x46f7e9
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4700da
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4700da
push 1
push esi
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x4700da
lea esi, [ebx + 0xe0]
xor edi, edi
mov ecx, esi
call fcn.0046c92b
test eax, eax
jle 0x4700da
push edi
mov ecx, esi
call fcn.00412277
mov esi, eax
mov ecx, dword [esi + 8]
cmp ecx, dword [ebx + 8]
jne 0x46f826
mov eax, dword [ebp - 0x138]
movzx ecx, ax
cmp dword [esi + 0xc], ecx
jne 0x46f826
cmp byte [esi + 0x10], 0
je 0x46f83d
lea esi, [ebx + 0xe0]
inc edi
mov ecx, esi
call fcn.0046c92b
cmp edi, eax
jl 0x46f800
jmp 0x4700da
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 0x4700da
mov eax, 0x204
cmp esi, eax
ja 0x46fc74
je 0x46fbe3
mov eax, esi
sub eax, 0x133
je 0x46fbc8
sub eax, 5
je 0x46fbc8
sub eax, 0xc8
je 0x46fa71
sub eax, 1
je 0x46f9cd
sub eax, 1
je 0x46f969
sub eax, 1
jne 0x4700da
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.0046df66
mov esi, eax
test esi, esi
je 0x4700da
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4700da
mov ecx, ebx
call fcn.00470dba
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 0x4700da
mov ecx, ebx
call fcn.004706b7
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 0x4700da
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 0x46f868
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.0046df66
mov esi, eax
test esi, esi
je 0x4700da
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4700da
mov dword [ebx + 0x78], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xf4]
mov ecx, ebx
call fcn.00470dba
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 0x46fbbb
cmp byte [ebx + 0xd0], 0
jne 0x46fac1
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 0x46fa9c
mov dword [ebp - 0x44], 0x190
jmp 0x46fab0
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.0046df66
mov esi, eax
test esi, esi
je 0x46fb00
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4700da
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 0x46fb70
test ecx, ecx
je 0x46fb70
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 0x46fb70
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 0x46fb93
test esi, esi
je 0x46fb93
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 0x46fba9
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], ecx
jmp 0x46f86b
test esi, esi
je 0x4700da
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], esi
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
jmp 0x46f871
test edi, edi
je 0x4700da
push edi
push dword [ebp - 0x12c]
lea eax, [esi + 0x2000]
push eax
jmp 0x46f594
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.0046df66
mov esi, eax
test esi, esi
je 0x4700da
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4700da
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
mov ecx, ebx
call fcn.00470dba
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 0x46f943
sub esi, 0x20a
je 0x470013
sub esi, 0x97
je 0x46fe92
dec esi
sub esi, 1
je 0x46fe53
sub esi, 0x75
je 0x46fcec
sub esi, 0x7ce9
jne 0x4700da
lea esi, [ebx + 0x110]
xor edi, edi
mov ecx, esi
call fcn.0046c92b
test eax, eax
jle 0x46fce0
push edi
mov ecx, esi
call fcn.00412277
test eax, eax
je 0x46fcce
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, esi
inc edi
call fcn.0046c92b
cmp edi, eax
jl 0x46fcba
mov ebx, dword [ebp - 0x144]
mov ecx, esi
call fcn.00474de5
jmp 0x4700da
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 0x46ef20
cmp byte [ebx + 0xcd], al
je 0x46fd3b
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.00471717
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.0046dd34
test al, al
je 0x46fe38
cmp byte [ebx + 0x2f9], 0
je 0x46fd9d
lea ecx, [ebx + 0x274]
call fcn.0047518d
test al, al
jne 0x46fd9d
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.0046dd34
test al, al
je 0x46fe38
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x138], eax
je 0x46fdc9
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.0046de3c
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.0047038a
cmp byte [ebx + 0x2f9], 0
je 0x46fdfc
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.0046dc0f
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.004706c9
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
call fcn.004706c9
jmp 0x4700da
cmp dword [ebx + 0x38], 0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
je 0x46fe6f
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call esi
cmp byte [ebx + 0xd0], 0
je 0x46fe86
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx + 8]
call esi
mov byte [ebx + 0xd0], 0
jmp 0x4700da
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.0046df66
mov esi, eax
mov dword [ebp - 0x144], esi
test esi, esi
je 0x4700da
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x46ff06
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 0x4700da
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.0047518d
test al, al
je 0x46ff44
lea ecx, [ebp - 0x128]
call fcn.00439cda
jmp 0x46ef20
push 0x2c
lea edi, [ebx + 0x3c]
push 0
push edi
call fcn.004ab9a0
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 [0x513818]
mov dword [ebx + 0x5c], eax
call fcn.00474bae
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 0x46ffd6
push ecx
push dword [0x513818]
mov eax, SysReAllocStringLen
push ecx
push dword [ebx + 8]
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 esi, [ebx + 0x3c]
mov dword [ebx + 0x38], eax
push esi
push 0
push 0x432
push eax
call edi
jmp 0x46ffd9
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 0x46ff34
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.0046df66
mov esi, eax
test esi, esi
je 0x4700da
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4700da
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.0046ecd8
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.00474fc7
mov esi, eax
test esi, esi
je 0x470178
add ebx, 0xd4
push 0
mov ecx, edi
call fcn.00475275
mov ecx, dword [esi + 0x108]
test ecx, ecx
je 0x470127
add ecx, 0x38
call fcn.004818c8
test al, al
je 0x470127
mov ecx, dword [esi + 0x108]
push esi
add ecx, 0x38
call fcn.004818dc
mov ecx, ebx
xor edi, edi
call fcn.0046c92b
test eax, eax
jle 0x47014f
push edi
mov ecx, ebx
call fcn.00412277
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.0046c92b
cmp edi, eax
jl 0x470134
mov ecx, esi
call fcn.0043fe00
push 0x120
push esi
call fcn.004a8e28
mov edi, dword [ebp - 0x154]
pop ecx
pop ecx
push 0
mov ecx, edi
call fcn.00474fc7
mov esi, eax
test esi, esi
jne 0x4700f9
xor al, al
call fcn.004a9c0c
ret 0x10