Function at 0x10007ad0
Capabilities:
Check os version
Get number of processors
Open clipboard
Resolve function by parsing pe exports
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100187c0
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, ecx
mov ecx, dword [ebp + 8]
push edi
cmp esi, 0x401
ja 0x1000899c
je 0x100088f2
cmp esi, 0x113
ja 0x10008032
je 0x10007fd7
cmp esi, 0xf
ja 0x10007d7f
je 0x10007ce5
sub esi, 1
je 0x10007c4c
sub esi, 4
jne case.0x100089ab.1090
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x104]
add ecx, dword [ebx + 0x4c]
movzx edi, ax
shr eax, 0x10
sub eax, dword [ebx + 0x44]
cdq
idiv ecx
mov dword [ebx + 0x64], eax
cmp eax, 1
jge 0x10007b62
mov dword [ebx + 0x64], 1
cmp dword [ebx + 4], 0
je case.0x100081d5.4
cmp dword [ebx + 8], 0
jbe case.0x100081d5.4
cmp dword [ebx + 0x34], 0xffffffff
mov byte [ebp + 0x17], 0
jne 0x10007ba4
mov ecx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + ecx*8]
mov eax, edi
sub eax, dword [ebx + 0x40]
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
push esi
mov ecx, ebx
call fcn.10005480
mov byte [ebp + 0x17], 1
mov ecx, dword [ebx + 0x14]
mov edx, 0
mov eax, ecx
sub eax, dword [ebx + 0x64]
cmovs eax, edx
cmp dword [ebx + 0x50], eax
jle 0x10007bd3
test eax, eax
jg 0x10007bc2
mov dword [ebx + 0x50], edx
jmp 0x10007bcf
mov dword [ebx + 0x50], eax
cmp eax, ecx
jl 0x10007bcf
lea eax, [ecx - 1]
mov dword [ebx + 0x50], eax
mov byte [ebp + 0x17], 1
mov eax, dword [ebx + 0x30]
mov ecx, edx
sub eax, edi
add eax, dword [ebx + 0x40]
cmovs eax, ecx
mov ecx, ebx
cmp dword [ebx + 0x54], eax
jle 0x10007bf1
mov dword [ebx + 0x54], eax
call fcn.10007820
jmp 0x10007c00
call fcn.10007820
cmp byte [ebp + 0x17], 0
je case.0x100081d5.4
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edi, dword [ebx]
push 0xfffffffffffffff4
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
movzx esi, ax
or esi, 0x20000
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push edi
push esi
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebx + 0xa4]
mov ecx, ebx
push eax
call fcn.10006840
push 8
call fcn.1000c4c6
add esp, 4
mov dword [eax + 4], 0
mov dword [eax], vtable.PictureFan::TextRenderer_GDI.0
mov ecx, dword [ebx + 0x110]
mov dword [ebx + 0x110], eax
test ecx, ecx
je 0x10007c87
mov eax, dword [ecx]
push 1
call dword [eax]
mov esi, dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push 0
call esi
push 0x7f01
push 0
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x11c], eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
call esi
push 0
push 3
push dword [ebp + 8]
mov dword [ebx + 0x128], eax
mov dword [ebx + 0x12c], eax
call dword [sym.imp.USER32.dll_ShowScrollBar]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x80]
mov esi, ecx
push eax
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test al, 1
je 0x10007d51
lea eax, [ebp + 0x14]
push eax
push 0
push 0
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.UxTheme.dll_BeginBufferedPaint]
mov edi, eax
mov ecx, ebx
lea eax, [ebp - 0x78]
push eax
test edi, edi
je 0x10007d57
push dword [ebp + 0x14]
call fcn.10006a10
push 1
push edi
call dword [sym.imp.UxTheme.dll_EndBufferedPaint]
lea eax, [ebp - 0x80]
push eax
push esi
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x78]
mov ecx, ebx
push eax
push dword [ebp - 0x80]
call fcn.10006a10
lea eax, [ebp - 0x80]
push eax
push esi
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp esi, 0x20
je 0x10007f8a
cmp esi, 0x100
jne case.0x100089ab.1090
mov eax, ecx
push 0xfffffffffffffff4
push eax
mov dword [ebp - 0x54], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, dword [ebp + 0x14]
mov esi, eax
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x44], edi
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], 0xfffffff1
mov dword [ebp - 0x48], ebx
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0x54]
push ecx
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x4e
push eax
call esi
test eax, eax
jne case.0x100081d5.4
lea ecx, [ebx - 0x20]
cmp ecx, 8
ja case.0x100081d5.4
movzx eax, byte [ecx + 0x1000a088]
jmp dword [eax*4 + 0x1000a080]
jmp dword [ecx*4 + 0x1000a094]
sub ebx, 0x25
je 0x10007f66
sub ebx, 2
jne 0x10007f40
push ebx
mov eax, 1
movzx eax, ax
push eax
push 0x114
push edi
call esi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
push 0
movzx eax, ax
push eax
push 0x114
push edi
call esi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
push eax
movzx eax, ax
push eax
push 0x114
push edi
call esi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
cmp esi, ecx
jne 0x1000a05e
cmp di, 1
jne 0x1000a05e
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x1000a05e
mov eax, dword [ebx + 0x24]
push dword [ebx + eax*8 + 0x118]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
test al, 1
je 0x10007fe8
mov ecx, dword [ebx + 0x108]
neg ecx
jmp 0x10007ff6
test al, 4
je 0x10007ff4
mov ecx, dword [ebx + 0x108]
jmp 0x10007ff6
xor ecx, ecx
test al, 2
je 0x10007fff
or eax, 0xffffffff
jmp 0x10008008
movzx eax, al
shr eax, 3
and eax, 1
test ecx, ecx
jne 0x10008014
test eax, eax
je case.0x100081d5.4
push eax
push ecx
mov ecx, ebx
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp esi, 0x215
ja 0x100088c1
je 0x1000881b
lea eax, [esi - 0x114]
cmp eax, 0xfa
ja case.0x100089ab.1090
movzx eax, byte [eax + 0x1000a0d8]
jmp dword [eax*4 + 0x1000a0b8]
mov edi, dword [ebx + 0x50]
lea eax, [ebp - 0x50]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [ebp + 0x10]
movzx eax, si
cmp eax, 7
ja case.0x100081d5.4
jmp dword [eax*4 + 0x1000a1d4]
sub edi, dword [ebx + 0x58]
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
add edi, dword [ebx + 0x58]
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
sub edi, dword [ebx + 0x64]
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
add edi, dword [ebx + 0x64]
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x14]
mov edi, esi
shr edi, 0x10
cmp eax, 0x10000
jle 0x10008190
sub eax, dword [ebx + 0x64]
push 0xffff
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edi, eax
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor edi, edi
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebx + 0x14]
mov eax, 0
sub edi, dword [ebx + 0x64]
cmovs edi, eax
sub edi, dword [ebx + 0x50]
mov ecx, ebx
push edi
push 0
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebx + 0x54]
lea eax, [ebp - 0x40]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp + 0x10]
sub eax, dword [ebx + 0x40]
movzx ecx, si
cmp ecx, 5
ja case.0x100081d5.4
jmp dword [ecx*4 + 0x1000a1f4]
mov eax, dword [ebx + 0x108]
imul eax, dword [ebx + 0x5c]
sub edi, eax
mov ecx, ebx
sub edi, dword [ebx + 0x54]
push 0
push edi
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x108]
imul eax, dword [ebx + 0x5c]
add edi, eax
mov ecx, ebx
sub edi, dword [ebx + 0x54]
push 0
push edi
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, esi
mov ecx, ebx
shr edi, 0x10
sub edi, dword [ebx + 0x54]
push 0
push edi
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp + 0x10]
mov ecx, esi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
xor eax, eax
shr ecx, 0x10
cmp edi, 0x20a
movsx ecx, cx
setne al
mov dword [ebp - 0x10], 0
inc eax
xor edx, edx
cmp edi, 0x20a
mov dword [ebp + 0x10], eax
mov eax, ecx
setne dl
neg eax
lea edx, [edx*8 + 0x140]
add edx, ebx
cmp edi, 0x20a
mov dword [ebp + 0xc], edx
cmovne eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [edx + 4]
mov ecx, dword [ebp - 0x14]
cmp eax, 0x1f4
jb 0x100082c7
mov dword [edx], ecx
jmp 0x100082cb
add dword [edx], ecx
mov ecx, dword [edx]
mov eax, dword [ebp - 0x18]
mov dword [edx + 4], eax
mov eax, dword [ebx + 0x138]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10008347
mov eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp + 0x14]
movzx eax, si
mov dword [ebp - 0x58], eax
movsx eax, cx
mov dword [ebp - 0x54], eax
shr ecx, 0x10
movsx eax, cx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x13c]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], 0
mov dword [ebp + 0x10], ecx
call dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
test eax, eax
je 0x10008347
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
and eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x1000834a
sub dword [edx], eax
jmp 0x1000834a
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x1000836e
xor eax, eax
mov dword [edx], ecx
cmp edi, 0x20e
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp ecx, 1
je 0x1000837c
cmp ecx, 2
jne 0x1000842e
mov esi, dword [edx]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x78
jl 0x1000842e
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, 1
jne 0x100083e2
mov eax, dword [ebx + 0x130]
test eax, eax
jne 0x100083c8
push eax
lea eax, [ebp + 0x14]
push eax
push 0
push 0x68
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x100083dd
mov eax, 3
mov dword [ebp + 0x14], eax
cmp dword [ebp - 0x10], 0
mov ecx, esi
je 0x100083d5
neg ecx
imul ecx, eax
push ecx
push 0
jmp 0x1000841f
mov eax, dword [ebp + 0x14]
jmp 0x100083cb
mov ecx, dword [ebx + 0x134]
test ecx, ecx
jne 0x10008403
push ecx
lea eax, [ebp + 0x14]
push eax
push ecx
push 0x6c
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x1000844c
mov ecx, 3
mov dword [ebp + 0x14], ecx
cmp dword [ebp - 0x10], 0
mov edx, esi
je 0x10008410
neg edx
mov eax, dword [ebx + 0x108]
imul eax, edx
push 0
imul eax, ecx
push eax
mov ecx, ebx
call fcn.100078f0
mov ecx, dword [ebp + 0xc]
imul eax, esi, 0xffffff88
add dword [ecx], eax
xor eax, eax
cmp edi, 0x20e
sete al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x14]
jmp 0x10008406
mov edi, dword [ebp + 0x14]
movsx eax, di
mov dword [ebp - 0x18], eax
mov eax, edi
shr eax, 0x10
cwde
mov dword [ebp + 0xc], eax
xor eax, eax
cmp esi, 0x201
je 0x10008477
cmp esi, 0x204
setne al
inc eax
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + eax*4 + 0x24]
push ecx
mov dword [ebp + 0x14], eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp + 0x14]
mov dword [ebx + 0x78], ecx
test ecx, ecx
je 0x1000853d
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x7c], eax
cmp ecx, 1
jne 0x100084d1
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.USER32.dll_SetCapture]
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], eax
mov eax, dword [ebx + 0x54]
mov dword [ebx + 0x88], eax
mov eax, dword [ebx + 0x50]
mov dword [ebx + 0x8c], eax
jmp 0x10008518
cmp ecx, 2
jne 0x1000851b
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.USER32.dll_SetCapture]
cmp byte [ebx + 0x68], 0
je 0x100084f5
push 1
push 0
push esi
mov byte [ebx + 0x68], 0
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp + 0xc]
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x18]
push eax
mov byte [ebx + 0x74], 1
call fcn.100070d0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], 0
mov ecx, dword [ebp + 0x14]
push dword [ebx + ecx*8 + 0x11c]
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x150]
mov dword [ebx + 0x7c], 0xffffffff
mov dword [ebp + 0x14], eax
test eax, eax
je case.0x100081d5.4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push edi
push esi
push dword [ebp + 0x14]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
cmp esi, 0x202
je 0x10008592
cmp esi, 0x205
setne al
inc eax
cmp dword [ebx + 0x78], 0
je 0x100085d1
cmp dword [ebx + 0x7c], eax
jne 0x100085d1
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [ebp + 8]
jne 0x100085ae
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov dword [ebx + 0x78], 0
xor eax, eax
mov dword [ebx + 0x7c], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x150]
mov dword [ebp + 0x10], eax
test eax, eax
je case.0x100081d5.4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
mov edi, dword [ebp + 0x14]
push edi
push esi
push dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x150]
mov dword [ebp + 0x10], eax
test eax, eax
je case.0x100081d5.4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
mov edi, dword [ebp + 0x14]
push edi
push esi
push dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 0x78], 0
je 0x100087df
call dword [sym.imp.USER32.dll_GetCapture]
mov edi, dword [ebp + 8]
cmp eax, edi
jne 0x100087df
mov eax, dword [ebp + 0x14]
movsx esi, ax
shr eax, 0x10
movsx edx, ax
mov eax, dword [ebx + 0x78]
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x14], edx
cmp eax, 2
jne 0x1000878a
lea eax, [ebp - 0x30]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp + 0x10]
xor esi, esi
cmp eax, dword [ebx + 0x40]
jge 0x100086a5
cmp dword [ebx + 0x54], esi
jle 0x100086a5
mov esi, 1
jmp 0x100086b0
cmp eax, dword [ebp - 0x28]
mov ecx, 4
cmovge esi, ecx
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebx + 0x44]
jge 0x100086c3
cmp dword [ebx + 0x50], 0
jle 0x100086c3
or esi, 2
jmp 0x100086cb
cmp eax, dword [ebp - 0x24]
jl 0x100086cb
or esi, 8
mov eax, dword [ebx + 0x90]
cmp esi, eax
je 0x10008701
test eax, eax
je 0x100086eb
push eax
push edi
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebx + 0x90], 0
test esi, esi
je 0x10008701
push 0
push 0x32
push esi
push edi
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebx + 0x90], eax
push dword [ebp + 0x14]
mov ecx, ebx
push dword [ebp + 0x10]
call fcn.100070d0
cmp eax, dword [ebx + 0x84]
je case.0x100081d5.4
mov ecx, dword [ebx + 0x80]
mov dword [ebx + 0x84], eax
cmp eax, ecx
jne 0x10008730
mov byte [ebx + 0x68], 0
jmp 0x10008744
mov byte [ebx + 0x68], 1
jbe 0x1000873e
mov dword [ebx + 0x6c], ecx
mov dword [ebx + 0x70], eax
jmp 0x10008744
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x70], ecx
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push 1
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [ebx]
push 0xfffffffffffffff4
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
movzx esi, ax
or esi, 0x10000
jmp 0x10007c21
cmp eax, 1
jne case.0x100081d5.4
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x104]
sub eax, edx
add ecx, dword [ebx + 0x4c]
cdq
idiv ecx
mov ecx, ebx
sub eax, dword [ebx + 0x50]
add eax, dword [ebx + 0x8c]
push eax
mov eax, dword [ebx + 0x88]
sub eax, dword [ebx + 0x54]
add eax, dword [ebx + 0x80]
sub eax, esi
push eax
call fcn.100078f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebx + 0x150]
test esi, esi
je case.0x100081d5.4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
mov edi, dword [ebp + 0x14]
push edi
push 0x200
push esi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
mov eax, ecx
cmp edi, eax
je case.0x100081d5.4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x10008887
cmp ecx, 2
jne 0x10008854
mov ecx, dword [ebx + 0x90]
mov byte [ebx + 0x74], 0
test ecx, ecx
je 0x10008854
push ecx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebx + 0x90], 0
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0xffffffff
push dword [ebx + eax*8 + 0x118]
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x150]
mov dword [ebp + 0x14], eax
test eax, eax
je case.0x100081d5.4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push edi
push esi
push dword [ebp + 0x14]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp esi, 0x301
jne case.0x100089ab.1090
push 0
push 0
push 0x416
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x10008a66
push esi
push dword [esi + 0x14]
mov ecx, ebx
call fcn.10005720
mov edi, eax
test edi, edi
je 0x10008930
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, ebx
call fcn.10006650
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov edx, dword [esi + 0x14]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008957
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x154]
call fcn.1000a6c0
mov ecx, ebx
call fcn.10007820
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
add esi, 0xfffffbfe
cmp esi, 0x42
ja case.0x100089ab.1090
jmp dword [esi*4 + 0x1000a20c]
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x10008a66
push eax
push dword [eax + 0x18]
mov ecx, ebx
push dword [eax + 0x14]
call fcn.10005850
mov esi, eax
test esi, esi
je 0x100089f3
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, ebx
call fcn.10006650
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
mov dword [ebx + 0x50], 0
lea ecx, [ebx + 0x154]
mov dword [ebx + 0x54], 0
cmp dword [ebx + 0x168], 7
jbe 0x10008a27
mov ecx, dword [ebx + 0x154]
xor eax, eax
mov dword [ebx + 0x164], 0
mov word [ecx], ax
mov ecx, ebx
call fcn.10007820
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x10008a7e
mov eax, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je case.0x100081d5.4
push dword [eax + 0xc]
mov ecx, ebx
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.10005a10
test eax, eax
je case.0x100081d5.4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor esi, esi
cmp dword [ebx + 4], esi
je 0x10008b5a
mov edx, dword [ebp + 0x10]
test edx, edx
je case.0x100081d5.4
xor ecx, ecx
mov dword [ebp + 8], ecx
test edx, edx
je 0x10008b3d
cmp ecx, dword [ebx + 0xc]
jge 0x10008b3d
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + ecx*8]
movzx eax, word [edi]
mov edx, eax
mov dword [ebp + 0xc], edx
mov edx, dword [ebp + 0x10]
test ax, ax
je 0x10008b14
mov ecx, dword [ebp + 0x14]
movzx eax, ax
cmp esi, edx
jae 0x10008b0e
add edi, 2
movzx eax, ax
mov word [ecx], ax
inc esi
add ecx, 2
movzx eax, word [edi]
test ax, ax
jne 0x10008af5
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 8]
lea eax, [esi + 1]
cmp eax, edx
jae 0x10008b3d
mov eax, dword [ebx + 0xc]
dec eax
cmp ecx, eax
jge 0x10008b35
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xa000d
add eax, 4
mov dword [ebp + 0x14], eax
add esi, 2
inc ecx
mov dword [ebp + 8], ecx
cmp esi, edx
jb 0x10008ad4
mov edi, dword [ebp + 0x14]
xor eax, eax
mov word [edi], ax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebp + 0x10], esi
je case.0x100081d5.4
mov edi, dword [ebp + 0x14]
xor eax, eax
mov word [edi], ax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je case.0x100081d5.4
push 1
mov ecx, ebx
call fcn.100049b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov ecx, ebx
mov edi, dword [ebp + 0x14]
push esi
push edi
call fcn.100054e0
test al, al
je 0x1000897a
mov ecx, ebx
call fcn.10006650
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
mov dword [ebx + 0x50], 0
lea ecx, [ebx + 0x154]
mov dword [ebx + 0x54], 0
cmp dword [ebx + 0x168], 7
jbe 0x10008be9
mov ecx, dword [ebx + 0x154]
xor eax, eax
mov dword [ebx + 0x164], 0
mov word [ecx], ax
mov ecx, ebx
call fcn.10007820
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je case.0x100081d5.4
cmp dword [ebp + 0x10], 0
je 0x10008c4a
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebx + 4]
test edx, edx
je case.0x100081d5.4
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je case.0x100081d5.4
cmp byte [ebx + 0x68], 0
je 0x10008cac
mov eax, dword [ebx + 0x6c]
sub eax, edx
mov edx, 4
sar eax, 1
mov dword [ecx], eax
mov eax, dword [ebx + 0x70]
sub eax, dword [ebx + 4]
sar eax, 1
mov dword [edx + ecx], eax
movzx eax, byte [ebx + 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, 4
mov dword [ecx], 0
xor eax, eax
mov dword [edx + ecx], eax
movzx eax, byte [ebx + 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebx + 4]
test edx, edx
je case.0x100081d5.4
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x10008d59
mov esi, dword [eax + 4]
mov edi, dword [eax]
cmp edi, esi
je 0x10008d59
test esi, esi
jns 0x10008d06
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + ecx*8 - 8]
sub esi, edx
sar esi, 1
add esi, dword [eax + ecx*8 - 4]
jmp 0x10008d10
mov eax, edi
cmp edi, esi
jl 0x10008d10
mov edi, esi
mov esi, eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x2c], 0
call fcn.100073f0
test al, al
je case.0x100081d5.4
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
push esi
call fcn.100073f0
test al, al
je case.0x100081d5.4
mov ecx, dword [ebx + 4]
lea eax, [ecx + edi*2]
mov dword [ebx + 0x6c], eax
lea eax, [ecx + esi*2]
mov dword [ebx + 0x70], eax
mov al, 1
jmp 0x10008d65
cmp byte [ebx + 0x68], 0
je 0x1000a040
xor al, al
mov byte [ebx + 0x68], al
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push 1
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebp + 0x10], 0
je case.0x100081d5.4
mov edx, dword [ebp + 0x14]
test edx, edx
je case.0x100081d5.4
mov esi, dword [ebx + 4]
test esi, esi
je 0x10008e9e
cmp byte [ebx + 0x68], 0
je 0x10008e9e
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0xc]
sub eax, esi
mov edi, dword [ebx + 0x10]
sar eax, 1
lea eax, [esi + eax*2]
xor esi, esi
mov dword [ebp + 0x14], eax
test ecx, ecx
jle 0x10008dfa
nop dword [eax]
cmp eax, dword [edi + esi*8]
jb 0x10008dfa
inc esi
cmp esi, ecx
jl 0x10008df0
cmp esi, ecx
jne 0x10008e13
mov ecx, dword [edi + esi*8 - 4]
mov eax, dword [edi + esi*8 - 8]
lea eax, [eax + ecx*2]
cmp dword [ebp + 0x14], eax
jbe 0x10008e13
or esi, 0xffffffff
jmp 0x10008e14
dec esi
mov ecx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp + 0x14], esi
mov esi, dword [ebx + 0x6c]
test ecx, ecx
je 0x10008e84
cmp edi, ecx
jae 0x10008e53
cmp esi, dword [ebx + 0x70]
jae 0x10008e56
movzx eax, word [esi]
mov ecx, eax
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0x10]
cmp eax, 0xd
je 0x10008e53
cmp ax, 0xa
je 0x10008e53
movzx eax, ax
inc edi
mov word [edx], ax
add esi, 2
add edx, 2
cmp edi, ecx
jb 0x10008e27
cmp esi, dword [ebx + 0x70]
je 0x10008e84
lea eax, [edi + 1]
cmp eax, ecx
jae 0x10008e84
mov eax, dword [ebp + 0x14]
add edi, 2
mov dword [edx], 0xa000d
inc eax
add edx, 4
mov dword [ebp + 0x14], eax
cmp eax, dword [ebx + 0xc]
je 0x10008e84
mov ecx, dword [ebx + 0x10]
mov esi, dword [ecx + eax*8]
mov ecx, dword [ebp + 0x10]
cmp edi, ecx
jb 0x10008e27
xor eax, eax
mov word [edx], ax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
mov word [edx], ax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebx + 4]
test edx, edx
je case.0x100081d5.4
cmp byte [ebx + 0x68], 0
je case.0x100081d5.4
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov esi, dword [ebx + 0x10]
sar eax, 1
lea edi, [edx + eax*2]
xor edx, edx
test ecx, ecx
jle 0x10008eeb
cmp edi, dword [esi + edx*8]
jb 0x10008eeb
inc edx
cmp edx, ecx
jl 0x10008ee1
cmp edx, ecx
jne 0x10008f03
mov ecx, dword [esi + edx*8 - 4]
mov eax, dword [esi + edx*8 - 8]
lea eax, [eax + ecx*2]
cmp edi, eax
jbe 0x10008f03
or edx, 0xffffffff
jmp 0x10008f04
dec edx
mov ecx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
mov dword [ebp + 0x14], edx
xor edx, edx
cmp ecx, edi
jae 0x10008f58
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebp + 0x14]
lea eax, [eax + ebx*8]
mov dword [ebp + 0x14], eax
movzx eax, word [ecx]
mov esi, eax
cmp eax, 0xd
je 0x10008f40
cmp esi, 0xa
je 0x10008f3c
add ecx, 2
inc edx
cmp ecx, edi
jb 0x10008f25
cmp ecx, edi
jae 0x10008f58
mov eax, dword [ebp + 0x14]
inc ebx
add eax, 8
add edx, 2
mov dword [ebp + 0x14], eax
cmp ebx, dword [ebp + 0x10]
je 0x10008f58
mov ecx, dword [eax]
cmp ecx, edi
jb 0x10008f25
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
cmp esi, 2
ja case.0x100081d5.4
mov eax, dword [ebx + esi*4 + 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
cmp esi, 2
ja case.0x100081d5.4
mov edi, dword [ebp + 0x14]
cmp edi, 2
ja case.0x100081d5.4
mov dword [ebx + esi*4 + 0x24], edi
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
mov ecx, ebx
sub eax, dword [ebx + 0x50]
push eax
push 0
call fcn.100078f0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
mov ecx, ebx
sub eax, dword [ebx + 0x54]
push 0
push eax
call fcn.100078f0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je case.0x100081d5.4
mov edi, dword [ebp + 0x14]
mov ecx, ebx
mov esi, dword [ebp + 0x10]
push edi
push esi
call fcn.100073f0
movzx eax, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebx + 4]
test esi, esi
je 0x100098a4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
je 0x100090f5
cmp dword [ebx + 0x34], 0
je 0x100090f5
mov edx, dword [ecx + 4]
test edx, edx
js 0x100098a4
cmp edx, dword [ebx + 0x14]
jge 0x100098a4
mov eax, dword [ebx + 0x18]
lea edx, [eax + edx*8]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 4]
ja 0x100098a4
add eax, eax
sub eax, esi
add eax, dword [edx]
sar eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ecx + 4]
test edx, edx
js 0x100098a4
cmp edx, dword [ebx + 0xc]
jge 0x100098a4
mov eax, dword [ebx + 0x10]
jmp 0x100090cb
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100098a4
cmp dword [ebp + 0x10], 0
je 0x1000912d
cmp dword [ebx + 0x34], 0
je 0x1000912d
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
jmp 0x10009133
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov edi, dword [ebp + 0x14]
xor edx, edx
lea edi, [ecx + edi*2]
test eax, eax
jle 0x1000914a
nop
cmp edi, dword [esi + edx*8]
jb 0x1000914a
inc edx
cmp edx, eax
jl 0x10009140
cmp edx, eax
jne 0x10009161
mov ecx, dword [esi + edx*8 - 4]
mov eax, dword [esi + edx*8 - 8]
lea eax, [eax + ecx*2]
cmp edi, eax
ja 0x100098a4
lea eax, [edx - 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je case.0x100081d5.4
cmp byte [ebx + 0x68], 0
mov edi, ecx
push 0
push 0
jne 0x100091c5
push 0x404
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
lea ebx, [eax + 1]
lea ecx, [ebx + ebx]
push ecx
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je case.0x100081d5.4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push ebx
push 0x403
jmp 0x100091fb
push 0x40a
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
lea ebx, [eax + 1]
lea ecx, [ebx + ebx]
push ecx
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je case.0x100081d5.4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push ebx
push 0x409
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x10009241
call dword [sym.imp.USER32.dll_EmptyClipboard]
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp case.0x100081d5.4
mov edi, dword [ebp + 0x14]
test edi, edi
je case.0x100081d5.4
lea esi, [ebx + 0xa4]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x14]
test esi, esi
je case.0x100081d5.4
push esi
mov ecx, ebx
call fcn.10006840
test al, al
je case.0x100081d5.4
lea edi, [ebx + 0xa4]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.10006930
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x94]
cmp eax, 0xffffffff
jne 0x1000a06b
push 8
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
cmp dword [ebx + 0x94], edi
je 0x1000a040
mov dword [ebx + 0x94], edi
jmp 0x100094cc
mov eax, dword [ebx + 0x98]
cmp eax, 0xffffffff
jne 0x1000a06b
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
cmp dword [ebx + 0x98], edi
je 0x1000a040
push 1
push 0
push ecx
mov dword [ebx + 0x98], edi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x9c]
cmp eax, 0xffffffff
jne 0x1000a06b
push 0xe
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
cmp dword [ebx + 0x9c], edi
je 0x1000a040
cmp byte [ebx + 0x68], 0
mov dword [ebx + 0x9c], edi
je 0x1000a040
jmp 0x100094cc
mov eax, dword [ebx + 0xa0]
cmp eax, 0xffffffff
jne 0x1000a06b
push 0xd
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
cmp dword [ebx + 0xa0], edi
je 0x1000a040
cmp byte [ebx + 0x68], 0
mov dword [ebx + 0xa0], edi
je 0x1000a040
jmp 0x100094cc
cmp dword [ebx + 0x164], 0
mov edi, dword [ebp + 0x14]
jne 0x1000942b
test edi, edi
je case.0x100081d5.4
cmp dword [ebp + 0x10], 0
je case.0x100081d5.4
xor eax, eax
jmp 0x10008b64
test edi, edi
je 0x1000944c
cmp dword [ebx + 0x168], 7
lea eax, [ebx + 0x154]
jbe 0x10009440
mov eax, dword [eax]
mov esi, dword [ebp + 0x10]
push esi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [ebx + 0x164]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
cmp eax, 1
jl case.0x100081d5.4
cmp eax, dword [ebx + 0x3c]
je 0x1000a040
cmp dword [ebx + 4], 0
mov dword [ebx + 0x3c], eax
je 0x1000a040
mov ecx, ebx
call fcn.10006650
cmp dword [ebx + 0x34], 0
mov dword [ebx + 0x30], eax
je 0x100094c5
mov ecx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + ecx*8]
mov ecx, ebx
call fcn.100050f0
push esi
mov ecx, ebx
call fcn.10005480
mov ecx, ebx
call fcn.10007820
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push 1
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
jl case.0x100081d5.4
cmp eax, dword [ebx + 0x34]
je 0x1000a040
cmp dword [ebx + 4], 0
mov dword [ebx + 0x34], eax
jmp 0x10009571
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
cmp edi, dword [ebx + 0x38]
je 0x1000a040
cmp dword [ebx + 4], 0
mov dword [ebx + 0x38], edi
je 0x1000a040
cmp dword [ebx + 0x34], 0
je 0x1000a040
mov ecx, ebx
call fcn.10006650
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
mov ecx, ebx
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
call fcn.10007820
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push 1
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edi, dword [ebx]
push 0xfffffffffffffff4
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
push dword [ebx]
movzx esi, ax
or esi, 0x20000
call dword [sym.imp.USER32.dll_GetParent]
push edi
push esi
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x40]
mov edi, dword [ebp + 0x14]
mov dword [ebp + 0x10], eax
cmp edi, eax
je 0x1000a040
cmp dword [ebx + 4], 0
mov dword [ebx + 0x40], edi
je 0x1000a040
cmp dword [ebx + 0x34], 0xffffffff
jne 0x10009661
mov ecx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + ecx*8]
mov ecx, ebx
call fcn.10006650
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
push esi
mov ecx, ebx
call fcn.10005480
mov ecx, ebx
call fcn.10007820
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
push 6
push 0
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp + 0x10]
sub eax, dword [ebx + 0x40]
push 0
push 0
push eax
push esi
call dword [sym.imp.USER32.dll_ScrollWindowEx]
mov edi, dword [ebx]
push 0xfffffffffffffff4
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
push dword [ebx]
movzx esi, ax
or esi, 0x20000
call dword [sym.imp.USER32.dll_GetParent]
push edi
push esi
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebx + 0x44]
mov edi, dword [ebp + 0x14]
cmp edi, esi
je 0x1000a040
lea eax, [ebp - 0x40]
mov dword [ebx + 0x44], edi
push eax
mov edi, ecx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x104]
add ecx, dword [ebx + 0x4c]
cdq
idiv ecx
mov ecx, eax
mov dword [ebx + 0x64], ecx
cmp ecx, 1
jge 0x10009730
mov dword [ebx + 0x64], 1
mov ecx, 1
cmp dword [ebx + 4], 0
je 0x1000a040
mov eax, dword [ebx + 0x14]
sub eax, ecx
mov ecx, 0
cmovs eax, ecx
cmp dword [ebx + 0x50], eax
jle 0x1000974f
mov dword [ebx + 0x50], eax
mov ecx, ebx
call fcn.10007820
sub esi, dword [ebx + 0x44]
lea eax, [ebp - 0x40]
push 6
push 0
push 0
push eax
push 0
push esi
push 0
push edi
call dword [sym.imp.USER32.dll_ScrollWindowEx]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
movzx ecx, ax
cmp ecx, 2
ja case.0x100081d5.4
shr eax, 0x10
sub eax, 0
je 0x100097c9
sub eax, 1
jne case.0x100081d5.4
mov esi, dword [ebp + 0x10]
mov eax, 1
mov dword [ebx + ecx*8 + 0x11c], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov eax, 1
mov dword [ebx + ecx*8 + 0x118], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je 0x100098a4
mov esi, dword [ebp + 0x14]
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
mov dword [ebp - 0x2c], 0
push dword [esi]
call fcn.100073f0
test al, al
je 0x100098a4
test byte [esi + 8], 0x10
jne 0x10009828
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 8], eax
jmp 0x1000982f
mov dword [ebp + 8], 1
test byte [esi + 8], 1
jne 0x100098ba
mov eax, dword [ebx + 0x10]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
lea edx, [eax + edi*8]
mov eax, dword [edx + 4]
cmp eax, ecx
jbe 0x10009877
sub eax, ecx
push esi
push eax
mov eax, dword [edx]
lea eax, [eax + ecx*2]
mov ecx, ebx
push eax
call fcn.100076c0
test al, al
je 0x10009877
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
inc edi
cmp edi, dword [ebx + 0xc]
jge 0x100098a4
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + edi*8 + 4]
cmp ecx, edx
jb 0x1000989e
push esi
push ecx
push dword [eax + edi*8]
mov ecx, ebx
call fcn.100076c0
test al, al
jne 0x10009861
mov edx, dword [ebp + 8]
inc edi
cmp edi, dword [ebx + 0xc]
jl 0x10009880
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
or edi, 0xffffffff
cmp dword [ebp - 0x24], 0
jle 0x1000998f
mov eax, dword [ebp - 0x28]
lea edx, [eax*8]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x14], edx
mov ecx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x18], eax
cmp ecx, eax
jae 0x1000998f
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x10], eax
lea eax, [esi + 0xc]
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
sub eax, ecx
push esi
sar eax, 1
push eax
push ecx
mov ecx, ebx
call fcn.100076c0
test al, al
je 0x10009969
mov ecx, dword [esi + 0xc]
lea eax, [esi + 0x10]
lea edx, [esi + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
add ecx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 0xc], edx
lea ecx, [eax + ecx*2]
lea eax, [esi + 0x10]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x10]
mov eax, dword [esi + eax]
mov esi, dword [ebp - 0x24]
lea eax, [eax + esi*2]
mov esi, dword [ebp + 0x14]
cmp ecx, eax
ja 0x10009969
lea eax, [esi + 0xc]
mov edi, dword [edx]
mov edx, dword [ebp - 0x1c]
mov dword [ebp + 0x10], edx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 0x10]
mov dword [ebp + 0xc], eax
cmp ecx, dword [ebp - 0x18]
jb 0x100098f5
jmp 0x1000996c
mov edx, dword [ebp + 0x10]
test edi, edi
js 0x10009995
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp + 0x14]
mov dword [ebp + 0x10], edx
mov ecx, dword [ebp - 0x28]
sub ecx, 1
mov dword [ebp + 0xc], ecx
js 0x100098a4
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp + 8]
lea eax, [eax + ecx*8]
cmp dword [eax + 4], esi
mov esi, dword [ebp + 0x14]
jb 0x100099fb
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x100099f4
sub eax, ecx
push esi
sar eax, 1
push eax
push ecx
mov ecx, ebx
call fcn.100076c0
test al, al
je 0x100099f1
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
mov eax, dword [ebx + 4]
mov dword [ebp + 0x10], edx
lea ecx, [edx + edi]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x100099c4
jmp 0x100099f4
mov edx, dword [ebp + 0x10]
test edi, edi
jns 0x10009a08
mov ecx, dword [ebp + 0xc]
sub ecx, 1
mov dword [ebp + 0xc], ecx
jns 0x100099a4
jmp 0x100098a4
mov dword [esi + 0xc], edi
mov eax, edi
mov dword [esi + 0x10], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebx + 4], 0
je case.0x100081d5.4
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
push eax
push esi
mov ecx, ebx
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x3c], 1
call fcn.100073f0
test al, al
je case.0x100081d5.4
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
mov eax, dword [ebp + 0x14]
add eax, esi
push eax
call fcn.100073f0
test al, al
je case.0x100081d5.4
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
call fcn.100074b0
mov esi, eax
mov ecx, ebx
lea eax, [ebp - 0x3c]
push eax
call fcn.100074b0
mov edi, eax
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebx + 0x54]
cmp esi, ecx
jge 0x10009a9d
mov ecx, esi
jmp 0x10009ab3
mov esi, dword [ebp - 0x48]
mov eax, esi
mov edx, dword [ebx + 0x40]
sub eax, edx
add eax, ecx
cmp edi, eax
jle 0x10009ab3
mov ecx, edi
sub ecx, esi
add ecx, edx
mov esi, dword [ebx + 0x50]
mov edx, esi
mov edi, dword [ebp - 0x28]
cmp edi, esi
jge 0x10009ac3
mov edx, edi
jmp 0x10009ad2
mov eax, dword [ebx + 0x64]
add eax, esi
cmp edi, eax
jl 0x10009ad2
mov edx, edi
sub edx, dword [ebx + 0x64]
inc edx
mov eax, dword [ebx + 0x54]
cmp ecx, eax
jne 0x10009ae1
cmp edx, esi
je 0x1000a040
sub edx, esi
sub ecx, eax
push edx
push ecx
mov ecx, ebx
call fcn.100078f0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
test eax, eax
js case.0x100081d5.4
cmp dword [ebx + 0x48], eax
je 0x1000a040
push 0x64
push dword [ebx + 0x60]
mov dword [ebx + 0x48], eax
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [ebx + 0x4c], eax
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 8]
call esi
mov eax, dword [ebp - 0x44]
sub eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x104]
add ecx, dword [ebx + 0x4c]
cdq
idiv ecx
mov ecx, eax
mov dword [ebx + 0x64], ecx
cmp ecx, 1
jge 0x10009b79
mov dword [ebx + 0x64], 1
mov ecx, 1
cmp dword [ebx + 4], 0
je 0x1000a040
mov eax, dword [ebx + 0x14]
sub eax, ecx
mov ecx, 0
cmovs eax, ecx
cmp dword [ebx + 0x50], eax
jle 0x10009b98
mov dword [ebx + 0x50], eax
mov ecx, ebx
call fcn.10007820
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call esi
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push 1
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x104]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x104]
add eax, dword [ebx + 0x4c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x40]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebx + 0x104]
add ecx, dword [ebx + 0x4c]
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp - 0x34]
je 0x10009c2e
dec eax
add eax, ecx
sub eax, dword [ebx + 0x44]
cdq
idiv ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x10009c6c
mov eax, dword [ebx + 0x130]
mov dword [esi], eax
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1000a040
mov eax, dword [ebx + 0x134]
mov dword [edi], eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov eax, 1
mov edi, dword [ebp + 0x14]
mov dword [ebx + 0x130], esi
mov dword [ebx + 0x134], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov eax, 1
mov edi, dword [ebp + 0x14]
mov dword [ebx + 0x138], esi
mov dword [ebx + 0x13c], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x150]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov eax, 1
mov dword [ebx + 0x150], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x10c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
lea edi, [ebx + 0x10c]
cmp dword [edi], esi
je 0x1000a040
mov eax, esi
sub eax, 0
je 0x10009e6e
sub eax, 1
jne case.0x100081d5.4
push 0x20
call fcn.1000c4c6
mov edi, eax
add esp, 4
mov dword [ebp + 0x14], edi
lea eax, [edi + 8]
mov dword [edi + 4], 0
mov dword [edi], vtable.PictureFan::TextRenderer_DirectWrite.0
mov dword [eax], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov byte [edi + 0x1c], 1
mov ecx, dword [eax]
mov dword [ebp - 4], 0
test ecx, ecx
je 0x10009dc4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea eax, [edi + 8]
mov dword [eax], 0
push eax
push 0
push 0x1003bc70
push 0
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.d2d1.dll_Ordinal_1]
test eax, eax
js 0x10009e51
cmp dword [edi + 0xc], 0
lea eax, [edi + 0xc]
jne 0x10009e01
push eax
push 0x1003bc80
push 0
mov dword [ebp - 4], 1
call dword [sym.imp.DWrite.dll_DWriteCreateFactory]
test eax, eax
js 0x10009e51
cmp dword [ebx + 0x114], 0
setne al
mov byte [edi + 0x1c], al
mov ecx, dword [ebx + 0x110]
mov dword [ebx + 0x110], edi
test ecx, ecx
je 0x10009e24
mov eax, dword [ecx]
push 1
call dword [eax]
push 1
push 0
push dword [ebp + 8]
lea edi, [ebx + 0x10c]
mov dword [edi], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 8
call fcn.1000c4c6
add esp, 4
mov dword [eax + 4], 0
mov dword [eax], vtable.PictureFan::TextRenderer_GDI.0
mov ecx, dword [ebx + 0x110]
mov dword [ebx + 0x110], eax
test ecx, ecx
je 0x10009e9b
mov eax, dword [ecx]
push 1
call dword [eax]
push 1
push 0
push dword [ebp + 8]
mov dword [edi], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
test edi, edi
je case.0x100081d5.4
mov eax, dword [ebx + 0x114]
mov dword [edi], eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
test edi, edi
je case.0x100081d5.4
cmp dword [ebx + 0x10c], 1
mov eax, dword [edi]
mov dword [ebx + 0x114], eax
jne 0x1000a040
mov ecx, dword [ebx + 0x110]
test ecx, ecx
je 0x10009f1f
test eax, eax
setne al
mov byte [ecx + 0x1c], al
cmp dword [ebx + 4], 0
je 0x1000a040
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov ecx, ebx
mov edi, dword [ebp + 0x14]
push esi
push edi
call fcn.100078f0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x10009f81
mov eax, dword [ebx + 0x58]
mov dword [esi], eax
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1000a040
mov eax, dword [ebx + 0x5c]
mov dword [edi], eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
mov eax, 1
mov edi, dword [ebp + 0x14]
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x5c], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0x10]
lea eax, [esi - 0xa]
cmp eax, 0x3de
ja case.0x100081d5.4
mov edi, dword [ebx + 0x60]
cmp edi, esi
je 0x1000a040
lea eax, [ebx + 0xa4]
mov dword [ebx + 0x60], esi
push eax
mov ecx, ebx
call fcn.10006840
test al, al
jne 0x1000a028
mov dword [ebx + 0x60], edi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x64
push dword [ebx + 0x60]
push dword [ebx + 0x48]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, ebx
mov dword [ebx + 0x4c], eax
call fcn.10006930
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
push esi
push edi
push ecx
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10