Function at 0x10009287
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10018a10
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 0x10008ac1
je 0x100089d2
cmp esi, 0x113
ja 0x10008112
je 0x100080b7
cmp esi, 0xf
ja 0x10007e5f
je 0x10007dc5
sub esi, 1
je 0x10007d2c
sub esi, 4
jne case.0x10008ad0.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 0x10007c42
mov dword [ebx + 0x64], 1
cmp dword [ebx + 4], 0
je case.0x100082b5.4
cmp dword [ebx + 8], 0
jbe case.0x100082b5.4
cmp dword [ebx + 0x34], 0xffffffff
mov byte [ebp + 0x17], 0
jne 0x10007c84
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.10005450
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 0x10007cb3
test eax, eax
jg 0x10007ca2
mov dword [ebx + 0x50], edx
jmp 0x10007caf
mov dword [ebx + 0x50], eax
cmp eax, ecx
jl 0x10007caf
lea eax, [ecx - 1]
mov dword [ebx + 0x50], eax
mov byte [ebp + 0x17], 1
mov eax, dword [ebx + 0x40]
mov ecx, edx
sub eax, edi
add eax, dword [ebx + 0x30]
cmovs eax, ecx
mov ecx, ebx
cmp dword [ebx + 0x54], eax
jle 0x10007cd1
mov dword [ebx + 0x54], eax
call fcn.10007900
jmp 0x10007ce0
call fcn.10007900
cmp byte [ebp + 0x17], 0
je case.0x100082b5.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.10006910
push 8
call fcn.1000c5c0
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 0x10007d67
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 0x10007e31
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 0x10007e37
push dword [ebp + 0x14]
call fcn.10006ae0
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.10006ae0
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 0x1000806a
cmp esi, 0x100
jne case.0x10008ad0.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.0x100082b5.4
lea ecx, [ebx - 0x20]
cmp ecx, 8
ja case.0x100082b5.4
movzx eax, byte [ecx + 0x1000a17c]
jmp dword [eax*4 + 0x1000a174]
jmp dword [ecx*4 + 0x1000a188]
sub ebx, 0x25
je 0x10008046
sub ebx, 2
jne 0x10008020
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 0x1000a152
cmp di, 1
jne 0x1000a152
mov eax, edi
shr eax, 0x10
test eax, eax
je 0x1000a152
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 0x100080c8
mov ecx, dword [ebx + 0x108]
neg ecx
jmp 0x100080d6
test al, 4
je 0x100080d4
mov ecx, dword [ebx + 0x108]
jmp 0x100080d6
xor ecx, ecx
test al, 2
je 0x100080df
or eax, 0xffffffff
jmp 0x100080e8
movzx eax, al
shr eax, 3
and eax, 1
test ecx, ecx
jne 0x100080f4
test eax, eax
je case.0x100082b5.4
push eax
push ecx
mov ecx, ebx
call fcn.100079d0
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 0x100089a1
je 0x100088fb
lea eax, [esi - 0x114]
cmp eax, 0xfa
ja case.0x10008ad0.1090
movzx eax, byte [eax + 0x1000a1cc]
jmp dword [eax*4 + 0x1000a1ac]
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.0x100082b5.4
jmp dword [eax*4 + 0x1000a2c8]
sub edi, dword [ebx + 0x58]
mov ecx, ebx
sub edi, dword [ebx + 0x50]
push edi
push 0
call fcn.100079d0
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.100079d0
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.100079d0
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.100079d0
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 0x10008270
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.100079d0
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.100079d0
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.100079d0
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.0x100082b5.4
jmp dword [ecx*4 + 0x1000a2e8]
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.100079d0
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.100079d0
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.100079d0
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 0x100083a7
mov dword [edx], ecx
jmp 0x100083ab
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 0x10008427
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 0x10008427
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 0x1000842a
sub dword [edx], eax
jmp 0x1000842a
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x1000844e
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 0x1000845c
cmp ecx, 2
jne 0x1000850e
mov esi, dword [edx]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x78
jl 0x1000850e
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, 1
jne 0x100084c2
mov eax, dword [ebx + 0x130]
test eax, eax
jne 0x100084a8
push eax
lea eax, [ebp + 0x14]
push eax
push 0
push 0x68
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x100084bd
mov eax, 3
mov dword [ebp + 0x14], eax
cmp dword [ebp - 0x10], 0
mov ecx, esi
je 0x100084b5
neg ecx
imul ecx, eax
push ecx
push 0
jmp 0x100084ff
mov eax, dword [ebp + 0x14]
jmp 0x100084ab
mov ecx, dword [ebx + 0x134]
test ecx, ecx
jne 0x100084e3
push ecx
lea eax, [ebp + 0x14]
push eax
push ecx
push 0x6c
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x1000852c
mov ecx, 3
mov dword [ebp + 0x14], ecx
cmp dword [ebp - 0x10], 0
mov edx, esi
je 0x100084f0
neg edx
mov eax, dword [ebx + 0x108]
imul eax, edx
push 0
imul eax, ecx
push eax
mov ecx, ebx
call fcn.100079d0
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 0x100084e6
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 0x10008557
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 0x1000861d
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x7c], eax
cmp ecx, 1
jne 0x100085b1
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 0x100085f8
cmp ecx, 2
jne 0x100085fb
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.USER32.dll_SetCapture]
cmp byte [ebx + 0x68], 0
je 0x100085d5
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.100071a0
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.0x100082b5.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 0x10008672
cmp esi, 0x205
setne al
inc eax
cmp dword [ebx + 0x78], 0
je 0x100086b1
cmp dword [ebx + 0x7c], eax
jne 0x100086b1
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [ebp + 8]
jne 0x1000868e
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.0x100082b5.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.0x100082b5.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 0x100088bf
call dword [sym.imp.USER32.dll_GetCapture]
mov edi, dword [ebp + 8]
cmp eax, edi
jne 0x100088bf
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 0x1000886a
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 0x10008785
cmp dword [ebx + 0x54], esi
jle 0x10008785
mov esi, 1
jmp 0x10008790
cmp eax, dword [ebp - 0x28]
mov ecx, 4
cmovge esi, ecx
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebx + 0x44]
jge 0x100087a3
cmp dword [ebx + 0x50], 0
jle 0x100087a3
or esi, 2
jmp 0x100087ab
cmp eax, dword [ebp - 0x24]
jl 0x100087ab
or esi, 8
mov eax, dword [ebx + 0x90]
cmp esi, eax
je 0x100087e1
test eax, eax
je 0x100087cb
push eax
push edi
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebx + 0x90], 0
test esi, esi
je 0x100087e1
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.100071a0
cmp eax, dword [ebx + 0x84]
je case.0x100082b5.4
mov ecx, dword [ebx + 0x80]
mov dword [ebx + 0x84], eax
cmp eax, ecx
jne 0x10008810
mov byte [ebx + 0x68], 0
jmp 0x10008824
mov byte [ebx + 0x68], 1
jbe 0x1000881e
mov dword [ebx + 0x6c], ecx
mov dword [ebx + 0x70], eax
jmp 0x10008824
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 0x10007d01
cmp eax, 1
jne case.0x100082b5.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.100079d0
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.0x100082b5.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.0x100082b5.4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x10008967
cmp ecx, 2
jne 0x10008934
mov ecx, dword [ebx + 0x90]
mov byte [ebx + 0x74], 0
test ecx, ecx
je 0x10008934
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.0x100082b5.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.0x10008ad0.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 0x10008b81
push esi
push dword [esi + 0x14]
mov ecx, ebx
call fcn.10005720
mov edi, eax
test edi, edi
je 0x10008a10
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.10006700
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov esi, dword [esi + 0x14]
mov ecx, esi
mov dword [ebp + 0x14], esi
lea edi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008a40
mov eax, dword [ebx + 0x168]
sub ecx, edi
sar ecx, 1
cmp ecx, eax
ja 0x10008a88
lea edi, [ebx + 0x154]
cmp eax, 7
jbe 0x10008a6a
mov edi, dword [ebx + 0x154]
lea esi, [ecx + ecx]
mov dword [ebx + 0x164], ecx
push esi
push dword [ebp + 0x14]
push edi
call fcn.1000ddd0
add esp, 0xc
xor eax, eax
mov word [edi + esi], ax
jmp 0x10008a98
push esi
push dword [ebp + 0x14]
push ecx
lea ecx, [ebx + 0x154]
call fcn.1000a7c0
mov ecx, ebx
call fcn.10007900
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.0x10008ad0.1090
jmp dword [esi*4 + 0x1000a300]
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x10008b81
push eax
push dword [eax + 0x18]
mov ecx, ebx
push dword [eax + 0x14]
call fcn.10005870
mov esi, eax
test esi, esi
je 0x10008b18
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.10006700
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
lea eax, [ebx + 0x154]
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 7
jbe 0x10008b4c
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov ecx, ebx
call fcn.10007900
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 0x10008b99
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.0x100082b5.4
push dword [eax + 0xc]
mov ecx, ebx
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.10005a60
test eax, eax
je case.0x100082b5.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 0x10008c76
mov edx, dword [ebp + 0x10]
test edx, edx
je case.0x100082b5.4
xor ecx, ecx
mov dword [ebp + 8], ecx
test edx, edx
je 0x10008c59
nop
cmp ecx, dword [ebx + 0xc]
jge 0x10008c59
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 0x10008c30
mov ecx, dword [ebp + 0x14]
movzx eax, ax
cmp esi, edx
jae 0x10008c2a
add edi, 2
movzx eax, ax
mov word [ecx], ax
inc esi
add ecx, 2
movzx eax, word [edi]
test ax, ax
jne 0x10008c11
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 8]
lea eax, [esi + 1]
cmp eax, edx
jae 0x10008c59
mov eax, dword [ebx + 0xc]
dec eax
cmp ecx, eax
jge 0x10008c51
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 0x10008bf0
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.0x100082b5.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.0x100082b5.4
push 1
mov ecx, ebx
call fcn.100049a0
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.100054b0
test al, al
je 0x10008a9f
mov ecx, ebx
call fcn.10006700
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
lea eax, [ebx + 0x154]
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 7
jbe 0x10008d05
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov ecx, ebx
call fcn.10007900
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.0x100082b5.4
cmp dword [ebp + 0x10], 0
je 0x10008d5c
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.0x100082b5.4
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je case.0x100082b5.4
cmp byte [ebx + 0x68], 0
je 0x10008dbe
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 [ecx + edx], 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 [ecx + edx], 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.0x100082b5.4
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x10008e6b
mov esi, dword [eax + 4]
mov edi, dword [eax]
cmp edi, esi
je 0x10008e6b
test esi, esi
jns 0x10008e18
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 0x10008e22
mov eax, edi
cmp edi, esi
jl 0x10008e22
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.100074c0
test al, al
je case.0x100082b5.4
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
push esi
call fcn.100074c0
test al, al
je case.0x100082b5.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 0x10008e77
cmp byte [ebx + 0x68], 0
je 0x1000a134
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.0x100082b5.4
mov edx, dword [ebp + 0x14]
test edx, edx
je case.0x100082b5.4
mov esi, dword [ebx + 4]
test esi, esi
je 0x10008fae
cmp byte [ebx + 0x68], 0
je 0x10008fae
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 0x10008f0a
nop dword [eax + eax]
cmp eax, dword [edi + esi*8]
jb 0x10008f0a
inc esi
cmp esi, ecx
jl 0x10008f00
cmp esi, ecx
jne 0x10008f23
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 0x10008f23
or esi, 0xffffffff
jmp 0x10008f24
dec esi
mov ecx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp + 0x14], esi
mov esi, dword [ebx + 0x6c]
test ecx, ecx
je 0x10008f94
cmp edi, ecx
jae 0x10008f63
cmp esi, dword [ebx + 0x70]
jae 0x10008f66
movzx eax, word [esi]
mov ecx, eax
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0x10]
cmp eax, 0xd
je 0x10008f63
cmp ax, 0xa
je 0x10008f63
movzx eax, ax
inc edi
mov word [edx], ax
add esi, 2
add edx, 2
cmp edi, ecx
jb 0x10008f37
cmp esi, dword [ebx + 0x70]
je 0x10008f94
lea eax, [edi + 1]
cmp eax, ecx
jae 0x10008f94
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 0x10008f94
mov ecx, dword [ebx + 0x10]
mov esi, dword [ecx + eax*8]
mov ecx, dword [ebp + 0x10]
cmp edi, ecx
jb 0x10008f37
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.0x100082b5.4
cmp byte [ebx + 0x68], 0
je case.0x100082b5.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 0x10008ffb
cmp edi, dword [esi + edx*8]
jb 0x10008ffb
inc edx
cmp edx, ecx
jl 0x10008ff1
cmp edx, ecx
jne 0x10009013
mov ecx, dword [esi + edx*8 - 4]
mov eax, dword [esi + edx*8 - 8]
lea eax, [eax + ecx*2]
cmp edi, eax
jbe 0x10009013
or edx, 0xffffffff
jmp 0x10009014
dec edx
mov ecx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
mov dword [ebp + 0x14], edx
xor edx, edx
cmp ecx, edi
jae 0x10009068
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 0x10009050
cmp esi, 0xa
je 0x1000904c
add ecx, 2
inc edx
cmp ecx, edi
jb 0x10009035
cmp ecx, edi
jae 0x10009068
mov eax, dword [ebp + 0x14]
inc ebx
add eax, 8
add edx, 2
mov dword [ebp + 0x14], eax
cmp ebx, dword [ebp + 0x10]
je 0x10009068
mov ecx, dword [eax]
cmp ecx, edi
jb 0x10009035
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.0x100082b5.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.0x100082b5.4
mov edi, dword [ebp + 0x14]
cmp edi, 2
ja case.0x100082b5.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.100079d0
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.100079d0
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.0x100082b5.4
mov edi, dword [ebp + 0x14]
mov ecx, ebx
mov esi, dword [ebp + 0x10]
push edi
push esi
call fcn.100074c0
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 0x100099b4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
je 0x10009205
cmp dword [ebx + 0x34], 0
je 0x10009205
mov edx, dword [ecx + 4]
test edx, edx
js 0x100099b4
cmp edx, dword [ebx + 0x14]
jge 0x100099b4
mov eax, dword [ebx + 0x18]
lea edx, [eax + edx*8]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 4]
ja 0x100099b4
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 0x100099b4
cmp edx, dword [ebx + 0xc]
jge 0x100099b4
mov eax, dword [ebx + 0x10]
jmp 0x100091db
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100099b4
cmp dword [ebp + 0x10], 0
je 0x1000923d
cmp dword [ebx + 0x34], 0
je 0x1000923d
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
jmp 0x10009243
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 0x1000925a
nop
cmp edi, dword [esi + edx*8]
jb 0x1000925a
inc edx
cmp edx, eax
jl 0x10009250
cmp edx, eax
jne 0x10009271
mov ecx, dword [esi + edx*8 - 4]
mov eax, dword [esi + edx*8 - 8]
lea eax, [eax + ecx*2]
cmp edi, eax
ja 0x100099b4
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.0x100082b5.4
cmp byte [ebx + 0x68], 0
mov edi, ecx
push 0
push 0
jne 0x100092d5
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.0x100082b5.4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
push ebx
push 0x403
jmp 0x1000930b
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.0x100082b5.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 0x10009351
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.0x100082b5.4
mov edi, dword [ebp + 0x14]
test edi, edi
je case.0x100082b5.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.0x100082b5.4
push esi
mov ecx, ebx
call fcn.10006910
test al, al
je case.0x100082b5.4
lea edi, [ebx + 0xa4]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.10006a00
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 0x1000a15f
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 0x1000a134
mov dword [ebx + 0x94], edi
jmp 0x100095dc
mov eax, dword [ebx + 0x98]
cmp eax, 0xffffffff
jne 0x1000a15f
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 0x1000a134
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 0x1000a15f
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 0x1000a134
cmp byte [ebx + 0x68], 0
mov dword [ebx + 0x9c], edi
je 0x1000a134
jmp 0x100095dc
mov eax, dword [ebx + 0xa0]
cmp eax, 0xffffffff
jne 0x1000a15f
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 0x1000a134
cmp byte [ebx + 0x68], 0
mov dword [ebx + 0xa0], edi
je 0x1000a134
jmp 0x100095dc
cmp dword [ebx + 0x164], 0
mov edi, dword [ebp + 0x14]
jne 0x1000953b
test edi, edi
je case.0x100082b5.4
cmp dword [ebp + 0x10], 0
je case.0x100082b5.4
xor eax, eax
jmp 0x10008c80
test edi, edi
je 0x1000955c
cmp dword [ebx + 0x168], 7
lea eax, [ebx + 0x154]
jbe 0x10009550
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.0x100082b5.4
cmp eax, dword [ebx + 0x3c]
je 0x1000a134
cmp dword [ebx + 4], 0
mov dword [ebx + 0x3c], eax
je 0x1000a134
mov ecx, ebx
call fcn.10006700
cmp dword [ebx + 0x34], 0
mov dword [ebx + 0x30], eax
je 0x100095d5
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.10005450
mov ecx, ebx
call fcn.10007900
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.0x100082b5.4
cmp eax, dword [ebx + 0x34]
je 0x1000a134
cmp dword [ebx + 4], 0
mov dword [ebx + 0x34], eax
jmp 0x10009681
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 0x1000a134
cmp dword [ebx + 4], 0
mov dword [ebx + 0x38], edi
je 0x1000a134
cmp dword [ebx + 0x34], 0
je 0x1000a134
mov ecx, ebx
call fcn.10006700
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.10007900
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 0x1000a134
cmp dword [ebx + 4], 0
mov dword [ebx + 0x40], edi
je 0x1000a134
cmp dword [ebx + 0x34], 0xffffffff
jne 0x10009771
mov ecx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + ecx*8]
mov ecx, ebx
call fcn.10006700
mov ecx, ebx
mov dword [ebx + 0x30], eax
call fcn.100050f0
push esi
mov ecx, ebx
call fcn.10005450
mov ecx, ebx
call fcn.10007900
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 0x1000a134
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 0x10009840
mov dword [ebx + 0x64], 1
mov ecx, 1
cmp dword [ebx + 4], 0
je 0x1000a134
mov eax, dword [ebx + 0x14]
sub eax, ecx
mov ecx, 0
cmovs eax, ecx
cmp dword [ebx + 0x50], eax
jle 0x1000985f
mov dword [ebx + 0x50], eax
mov ecx, ebx
call fcn.10007900
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.0x100082b5.4
shr eax, 0x10
sub eax, 0
je 0x100098d9
sub eax, 1
jne case.0x100082b5.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 0x100099b4
mov esi, dword [ebp + 0x14]
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
mov dword [ebp - 0x2c], 0
push dword [esi]
call fcn.100074c0
test al, al
je 0x100099b4
test byte [esi + 8], 0x10
jne 0x10009938
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 8], eax
jmp 0x1000993f
mov dword [ebp + 8], 1
test byte [esi + 8], 1
jne 0x100099ca
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 0x10009987
sub eax, ecx
push esi
push eax
mov eax, dword [edx]
lea eax, [eax + ecx*2]
mov ecx, ebx
push eax
call fcn.100077a0
test al, al
je 0x10009987
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 0x100099b4
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + edi*8 + 4]
cmp ecx, edx
jb 0x100099ae
push esi
push ecx
push dword [eax + edi*8]
mov ecx, ebx
call fcn.100077a0
test al, al
jne 0x10009971
mov edx, dword [ebp + 8]
inc edi
cmp edi, dword [ebx + 0xc]
jl 0x10009990
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 0x10009a9f
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 0x10009a9f
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.100077a0
test al, al
je 0x10009a79
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 [eax + esi]
mov esi, dword [ebp - 0x24]
lea eax, [eax + esi*2]
mov esi, dword [ebp + 0x14]
cmp ecx, eax
ja 0x10009a79
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 0x10009a05
jmp 0x10009a7c
mov edx, dword [ebp + 0x10]
test edi, edi
js 0x10009aa5
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 0x100099b4
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 0x10009b0b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x10009b04
sub eax, ecx
push esi
sar eax, 1
push eax
push ecx
mov ecx, ebx
call fcn.100077a0
test al, al
je 0x10009b01
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 0x10009ad4
jmp 0x10009b04
mov edx, dword [ebp + 0x10]
test edi, edi
jns 0x10009b18
mov ecx, dword [ebp + 0xc]
sub ecx, 1
mov dword [ebp + 0xc], ecx
jns 0x10009ab4
jmp 0x100099b4
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.0x100082b5.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.100074c0
test al, al
je case.0x100082b5.4
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
mov eax, dword [ebp + 0x14]
add eax, esi
push eax
call fcn.100074c0
test al, al
je case.0x100082b5.4
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
call fcn.10007580
mov esi, eax
mov ecx, ebx
lea eax, [ebp - 0x3c]
push eax
call fcn.10007580
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 0x10009bad
mov ecx, esi
jmp 0x10009bc3
mov esi, dword [ebp - 0x48]
mov eax, esi
mov edx, dword [ebx + 0x40]
sub eax, edx
add eax, ecx
cmp edi, eax
jle 0x10009bc3
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 0x10009bd3
mov edx, edi
jmp 0x10009be2
mov eax, dword [ebx + 0x64]
add eax, esi
cmp edi, eax
jl 0x10009be2
mov edx, edi
sub edx, dword [ebx + 0x64]
inc edx
mov eax, dword [ebx + 0x54]
cmp ecx, eax
jne 0x10009bf1
cmp edx, esi
je 0x1000a134
sub edx, esi
sub ecx, eax
push edx
push ecx
mov ecx, ebx
call fcn.100079d0
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.0x100082b5.4
cmp dword [ebx + 0x48], eax
je 0x1000a134
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 0x10009c89
mov dword [ebx + 0x64], 1
mov ecx, 1
cmp dword [ebx + 4], 0
je 0x1000a134
mov eax, dword [ebx + 0x14]
sub eax, ecx
mov ecx, 0
cmovs eax, ecx
cmp dword [ebx + 0x50], eax
jle 0x10009ca8
mov dword [ebx + 0x50], eax
mov ecx, ebx
call fcn.10007900
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 0x10009d3e
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 0x10009d7c
mov eax, dword [ebx + 0x130]
mov dword [esi], eax
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1000a134
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 0x1000a134
mov eax, esi
sub eax, 0
je 0x10009f62
sub eax, 1
jne case.0x100082b5.4
push 0x20
call fcn.1000c5c0
mov edi, eax
add esp, 4
mov dword [ebp + 0x14], edi
lea ecx, [edi + 8]
mov dword [edi + 4], 0
mov dword [edi], vtable.PictureFan::TextRenderer_DirectWrite.0
mov dword [ecx], 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
push ecx
push 0
push 0x1003bc70
push 0
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.d2d1.dll_Ordinal_1]
test eax, eax
js 0x10009f45
cmp dword [edi + 0xc], 0
lea eax, [edi + 0xc]
jne 0x10009ef5
push eax
push 0x1003bc80
push 0
mov dword [ebp - 4], 1
call dword [sym.imp.DWrite.dll_DWriteCreateFactory]
test eax, eax
js 0x10009f45
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 0x10009f18
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.1000c5c0
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 0x10009f8f
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.0x100082b5.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.0x100082b5.4
cmp dword [ebx + 0x10c], 1
mov eax, dword [edi]
mov dword [ebx + 0x114], eax
jne 0x1000a134
mov ecx, dword [ebx + 0x110]
test ecx, ecx
je 0x1000a013
test eax, eax
setne al
mov byte [ecx + 0x1c], al
cmp dword [ebx + 4], 0
je 0x1000a134
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.100079d0
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 0x1000a075
mov eax, dword [ebx + 0x58]
mov dword [esi], eax
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1000a134
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.0x100082b5.4
mov edi, dword [ebx + 0x60]
cmp edi, esi
je 0x1000a134
lea eax, [ebx + 0xa4]
mov dword [ebx + 0x60], esi
push eax
mov ecx, ebx
call fcn.10006910
test al, al
jne 0x1000a11c
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.10006a00
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