Function at 0x1001c884
Capabilities:
Allocate thread local storage
Connect pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
push ebx
push esi
push edi
mov dword [ebp - 8], 4
mov edi, edx
xor ebx, ebx
mov dword [ebp - 0xe4], ecx
push 2
mov dword [ebp - 0x18], 0x2cd8491f
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x20], ebx
pop ecx
jmp 0x1001c8c7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1ac], 0xd06721f7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1001c8b6
push 1
mov dword [ebp - 8], ebx
pop esi
jmp 0x1001c9ba
mov dword [ebp - 0x28], 0x53aa9ac7
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1001c908
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1a0], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1001c8fb
mov dword [ebp - 0x28], ebx
jmp 0x1001c9ad
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 0x193e0566
mov dword [ebp - 0x24], 0xd9e177c4
cmp dword [ebp - 0x20], ebx
je 0x1001c9a5
cmp dword [ebp - 8], ebx
jne 0x1001c93d
mov eax, dword [ebp - 0x194]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 8]
imul edx, dword [ebp - 0x24], 0xd5fb
mov eax, dword [ebp - 0x170]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
sete cl
cmp ecx, 0xffff
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
add eax, 0x7e3b
xor ecx, ecx
cmp eax, edx
setge cl
imul eax, ecx, 0x63e9
cmp eax, 0x930509b9
ja 0x1001c996
mov eax, ebx
cmp dword [ebp - 0x20], ebx
je 0x1001c998
mov eax, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, esi
cmp dword [ebp - 0x18], esi
jl 0x1001c9a7
mov eax, ebx
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffe
jge 0x1001c916
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe7
jge 0x1001c8d7
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001c9e4
push esi
push 0x1dbc
push 0xa2d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
mov dword [ebp - 0x20], 0xfe0a8eac
mov dword [ebp - 0x10], esi
push 3
mov dword [ebp - 0x18], 0x424b969b
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1001ca0e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x158], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001c9fd
push 2
pop eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jl 0x1001ca4a
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jl 0x1001ca45
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x158]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x158], ecx
dec dword [ebp - 0x20]
jns 0x1001ca29
push 2
pop eax
dec dword [ebp - 0x10]
jns 0x1001ca1e
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 5
jl 0x1001cab6
mov dword [ebp - 0x1c], 0xf38d927f
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x158]
mov eax, dword [ebp - 0x1c]
sub esi, eax
mov eax, dword [ebp - 0x1c]
cmp eax, 1
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp esi, ecx
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 5
jge 0x1001ca53
xor esi, esi
push 3
inc esi
pop edx
mov dword [ebp - 0x10], 0xb26bdde0
mov dword [ebp - 8], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1001cad2
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x200], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001cac5
mov dword [ebp - 0x10], 0xffffffea
jmp 0x1001cb6f
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x24], 0xfffffff6
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ebx
je 0x1001cb1c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x1001cb1c
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], ebx
jmp 0x1001cb66
mov dword [ebp - 0x1c], 0xfffffff8
cmp dword [ebp - 0x1c], ebx
jne 0x1001cb6c
mov dword [ebp - 0x1c], ebx
jmp 0x1001cb5d
mov dword [ebp - 0x18], 0xcce35a12
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe5
jge 0x1001cb4d
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x18
jl 0x1001cb3c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001cae3
mov dword [ebp - 0x18], esi
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x18], 0x8f1fe3d2
mov dword [ebp - 0x10], ebx
jmp 0x1001cba9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001cb9f
mov dword [ebp - 0x10], ebx
jmp 0x1001cbc4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001cbb3
mov dword [ebp - 0x34], ebx
jmp 0x1001cd49
mov dword [ebp - 0x10], 0x2e31d832
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0x5aa9c4ad
mov dword [ebp - 0x18], 0x49acb085
mov dword [ebp - 0x28], 0xbaa6f4ed
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x1c], 0x50e16ffa
mov dword [ebp - 0x18], 0x37672a6d
mov dword [ebp - 0x20], 0x5008d6d
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], 0x5297f1ff
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jl 0x1001cd46
mov dword [ebp - 0x20], 0xdd664087
xor ecx, ecx
mov dword [ebp - 0x14], 0xfffffff6
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xa8]
cmp eax, 0x65f4e26c
mov eax, dword [ebp - 0x10]
setg cl
imul ecx, dword [ebp + eax*4 - 0xa8]
test ecx, ecx
jne 0x1001cc7b
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa8]
cmp eax, edx
sete cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0xa4], ebx
je 0x1001cd35
cmp dword [ebp - 0x10], ebx
je 0x1001cd04
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xa8], 0xffffffff
mov eax, dword [ebp - 0x1b8]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa8]
add eax, edx
cmp eax, 0x979
setle cl
cmp ecx, dword [ebp - 0x14]
jl 0x1001ccf4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c0]
mov ecx, esi
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
jmp 0x1001cd06
mov ecx, ebx
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x34]
sub ecx, 0xa01eed76
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xb13f
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, esi
setle cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jne 0x1001cd37
mov eax, ebx
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x10]
jns 0x1001cc3a
push 3
pop edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jle 0x1001cbd2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x28], 0xffffffe8
cmp dword [ebp - 0x28], 0x12
jge 0x1001cdbc
push 2
pop ecx
mov dword [ebp - 0x20], ebx
jmp 0x1001cd9d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x190], 0xd2086bd0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1001cd8c
cmp dword [ebp - 0x28], ebx
je 0x1001cdad
mov eax, dword [ebp - 0x190]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jl 0x1001cd87
dec dword [ebp - 0x12c]
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], 9
mov dword [ebp - 0x24], 0x2fafd11d
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], 0xd4595a2e
mov dword [ebp - 0x28], 0x8d232121
mov dword [ebp - 0x14], 0xcf8fb6f8
mov dword [ebp - 0x10], 6
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0x55d5df5b
mov dword [ebp - 4], ebx
jmp 0x1001ce13
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001ce05
mov dword [ebp - 4], ebx
jmp 0x1001ce2e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x188], 0x284818a8
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001ce1d
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
sub eax, 0x462c
neg ecx
neg eax
sbb eax, eax
inc eax
imul eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 8]
jle 0x1001ce64
mov dword [ebp - 0x2c], esi
mov edx, esi
jmp 0x1001ce69
mov dword [ebp - 0x2c], ebx
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
cmp esi, eax
mov eax, dword [ebp - 0x14]
sbb ecx, ecx
inc ecx
sub ecx, eax
mov dword [ebp - 0x184], ecx
jne 0x1001cea8
mov ecx, ebx
cmp dword [ebp - 0x184], ebx
je 0x1001ceaa
mov ecx, esi
xor eax, eax
cmp ecx, 0xffffffff
setle al
cmp eax, dword [ebp - 8]
jle 0x1001ceba
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
add edx, 0x835a
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jge 0x1001ceec
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1001ceee
mov eax, esi
xor edx, edx
cmp eax, 0xe525
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0xffffffff
jge 0x1001d04c
push 3
mov eax, 0x4540e516
pop edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x1001d039
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x1001cf6c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], ecx
dec dword [ebp - 4]
jns 0x1001cf59
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x2c], ebx
je 0x1001cfeb
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
test eax, eax
sets cl
xor eax, eax
cmp ecx, edi
setl al
add eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
je 0x1001cfc3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edx, esi
mov eax, dword [ebp + eax*4 - 0x2c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
test eax, eax
setg cl
neg ecx
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x18]
jne 0x1001cfed
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2c]
cmp edx, eax
mov eax, dword [ebp - 0x144]
setge cl
xor edx, edx
imul ecx, ecx, 3
cmp ecx, eax
setl dl
neg edx
je 0x1001d016
mov edx, esi
cmp dword [ebp - 0x1c], ebx
jne 0x1001d018
mov edx, ebx
mov dword [ebp - 0x148], edx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp edx, eax
sete cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x10]
jns 0x1001cf4e
mov eax, 0x4540e516
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffff
jl 0x1001cf1d
mov edi, dword [ebp - 0x8c]
push 3
pop edx
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x18], 0x3e469209
push 2
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001d078
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc0], 0xfffd
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d067
mov dword [ebp - 4], ebx
jmp 0x1001d093
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x17c], 0xfffffff7
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d082
mov dword [ebp - 0x28], 0x48bbca63
mov dword [ebp - 0x28], ebx
jmp 0x1001d256
mov dword [ebp - 8], 0xeb9ae77a
mov dword [ebp - 0x20], ebx
jmp 0x1001d0c0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x84], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001d0b3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 8]
jne 0x1001d0f4
mov byte [ebp - 9], bl
cmp byte [ebp - 9], cl
je 0x1001d244
push 0x1582
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x1001d241
mov dword [ebp - 0x20], ebx
jmp 0x1001d10a
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1d0], 0x8cbd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001d0f9
mov eax, dword [ebp - 0x28]
inc eax
je 0x1001d226
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x168], 0x5f4d0c6
mov dword [ebp - 0x164], 0x5f4d0c6
mov dword [ebp - 0x160], 0x5f4d0c6
push 2
mov dword [ebp - 0x15c], 0x5f4d0c6
pop ecx
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
jl 0x1001d247
mov dword [ebp - 0x20], 4
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x84]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x84]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setge cl
xor ebx, ebx
cmp ecx, esi
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x20]
setl bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setl dl
xor ecx, ecx
sub edx, 0x6fbed76c
cmp edx, ebx
mov eax, dword [ebp + eax*4 - 0x84]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1d0]
setg dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
sub edx, eax
imul edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
cmp edx, 0x1606dc06
setg cl
inc eax
xor ebx, ebx
add eax, ecx
je 0x1001d213
mov eax, esi
cmp dword [ebp - 0x24], ebx
jne 0x1001d215
mov eax, ebx
mov dword [ebp - 0x15c], eax
dec dword [ebp - 8]
jns 0x1001d15e
jmp 0x1001d241
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001d244
push 0xfb4
push ebx
push 0x8ca
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
push 3
pop edx
push 2
pop ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x84], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xe
jne 0x1001d0a7
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffff5
jl 0x1001e225
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x18], 0xf1e283d1
push 0xfffffffffffffff7
mov dword [ebp - 0x18], ebx
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1001d2c6
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], esi
jge 0x1001d2a9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001d297
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x3c], 4
jmp 0x1001d2bd
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jne 0x1001d2c3
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x11
jge 0x1001d2b2
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jge 0x1001d28f
mov dword [ebp - 0x18], 0xc237
mov dword [ebp - 0x18], 0xe1c5a3d7
mov dword [ebp - 4], ebx
jmp 0x1001d2e8
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x30], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d2de
mov dword [ebp - 4], ebx
jmp 0x1001d303
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x11c], 0xf1c946b4
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d2f2
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0xffffffec
je 0x1001d3bd
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x1001d3a3
mov dword [ebp - 0x14], ebx
jmp 0x1001d33e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x90], 0xbd652568
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001d32d
cmp dword [ebp - 0x90], ebx
jne 0x1001d352
mov eax, dword [ebp - 8]
mov ecx, ebx
jmp 0x1001d354
mov ecx, esi
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp eax, 0xab19
mov eax, dword [ebp - 0x30]
setle cl
add ecx, edx
xor edx, edx
cmp ecx, eax
mov ecx, esi
setl dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x118]
mov eax, dword [ebp - 0x118]
sub ecx, eax
mov eax, dword [ebp - 8]
add eax, ecx
je 0x1001d397
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x18], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe4
jl 0x1001d328
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffec
jne 0x1001d315
push 2
pop ecx
mov dword [ebp - 0x1c], 0xb26bdde0
mov dword [ebp - 0x18], 0x9cadcda6
mov dword [ebp - 4], ebx
jmp 0x1001d3e1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xec], 0xfffffff7
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d3d0
push 3
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001d3ff
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1e8], 0xccfdef05
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d3ee
mov dword [ebp - 0x1c], 0xfffffffe
jmp 0x1001d596
mov dword [ebp - 8], 0xfb023ed1
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001d433
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
push 3
pop ecx
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
jl 0x1001d593
push 2
pop edi
mov dword [ebp - 0x28], 0x585b7f37
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x28], ebx
jmp 0x1001d57b
mov dword [ebp - 4], ebx
jmp 0x1001d472
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0x46cdead9
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d464
mov dword [ebp - 4], ebx
jmp 0x1001d489
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc4], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d47c
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], esi
jg 0x1001d536
mov dword [ebp - 0x14], ebx
jmp 0x1001d4b0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001d49f
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0xec]
test eax, eax
setne cl
cmp edi, ecx
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x28]
cmp eax, 0xfffffffe
jne 0x1001d4e5
mov eax, dword [ebp - 0x54]
mov edx, ebx
cmp dword [ebp + eax*4 - 0xec], ebx
je 0x1001d4e7
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x54]
setl cl
cmp ecx, 0xe24307a3
mov eax, dword [ebp + eax*4 - 0xec]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x54]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
imul eax, ecx, 0x5a12
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], esi
jle 0x1001d49a
push 3
pop ecx
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jne 0x1001d55a
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
push 0xfffffffffffffffc
pop eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
sub eax, 5
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1e0], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x1001d45f
dec dword [ebp - 8]
jns 0x1001d442
mov edi, dword [sym.imp.USER32.dll_GetDC]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x17
jl 0x1001d410
mov dword [ebp - 0x14], ebx
jmp 0x1001d5b6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0x514faf14
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001d5a5
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], esi
jg 0x1001e20c
jmp 0x1001d5cc
push 3
pop ecx
mov dword [ebp - 4], 0xacdff905
mov dword [ebp - 0x14], 0x684a5798
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 8], ebx
jmp 0x1001d5fb
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], 0x1c76d7be
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001d5ed
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, esi
setl cl
xor eax, eax
cmp edx, ecx
setle al
imul eax, eax, 0x4081
sub eax, 0xe03
je 0x1001d7c9
mov dword [ebp - 0x10], 0x67101392
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x1001d657
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x13c], 0x47fce3ba
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1001d646
push 2
pop ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jl 0x1001d746
mov dword [ebp - 8], 0xa421e0be
mov dword [ebp - 8], ebx
jmp 0x1001d686
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4c], 0x97618de0
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001d678
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
jl 0x1001d73d
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x48]
cmp dword [ebp - 0x10], ebx
jne 0x1001d6f4
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
neg esi
sbb esi, esi
add esi, 0xffffbad7
mov edx, dword [ebp + eax*4 - 0x48]
neg esi
mov eax, dword [ebp - 0x10]
sbb esi, esi
xor ecx, ecx
inc esi
cmp esi, eax
setne cl
xor eax, eax
cmp ecx, edx
setge al
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x24]
cmp eax, 0x5b48
setg cl
xor esi, esi
inc esi
add edx, ecx
mov ecx, ebx
je 0x1001d6f6
mov ecx, esi
xor eax, eax
cmp ecx, esi
setg al
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], ecx
test ecx, ecx
jne 0x1001d724
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp eax, esi
setge cl
mov dword [ebp - 4], ecx
dec dword [ebp - 8]
jns 0x1001d697
push 2
pop ecx
dec dword [ebp - 0x10]
jns 0x1001d66c
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x24]
setne dl
imul eax, dword [ebp - 0x10]
push 2
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x130]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x52c2
setge al
cmp eax, 0xffff
mov eax, dword [ebp - 0x138]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x48]
setge dl
sub edx, eax
mov eax, dword [ebp - 0x14]
add ecx, edx
xor edx, edx
cmp ecx, eax
sete dl
mov dword [ebp - 4], edx
pop edx
jmp 0x1001d8a6
push 2
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x1001d89d
mov dword [ebp - 0x18], 0xd11c
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x1001d89a
mov dword [ebp - 0x10], 0xfffffff6
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001d812
push 0xb96
push 0x33a
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
push 2
pop edx
mov dword [ebp - 4], ebx
jmp 0x1001d88c
mov dword [ebp - 8], 0x850227cd
mov dword [ebp - 8], edx
cmp dword [ebp - 8], ebx
jl 0x1001d889
mov dword [ebp - 0x24], 0x5525c537
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], ebx
je 0x1001d857
mov eax, dword [ebp - 0x18]
xor ecx, ecx
push 0xfffffffffffffff7
pop edx
sub edx, eax
add edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setl cl
neg ecx
mov ecx, esi
jne 0x1001d859
mov ecx, ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x30b1
setl al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
dec dword [ebp - 8]
jns 0x1001d826
push 2
pop edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x1001d817
dec dword [ebp - 0x14]
jns 0x1001d7e7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x1001d7d4
mov eax, 0x64896e6a
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0xb26bdde0
mov dword [ebp - 0x18], 0x9cadcda6
mov dword [ebp - 4], ebx
jmp 0x1001d8ea
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf8], 0xfffffff7
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001d8d9
push 3
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001d908
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1f4], 0xccfdef05
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d8f7
mov dword [ebp - 0x14], 0xfffffffe
cmp dword [ebp - 0x14], 0x17
jge 0x1001dab4
mov dword [ebp - 8], 0xfb023ed1
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001d944
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
push 3
pop ecx
push 2
pop edx
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
jl 0x1001daa4
mov dword [ebp - 0x1c], 0x585b7f37
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x1c], ebx
jmp 0x1001da8f
mov dword [ebp - 4], ebx
jmp 0x1001d980
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x64], 0x46cdead9
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d972
mov dword [ebp - 4], ebx
jmp 0x1001d997
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe0], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d98a
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x60], esi
jg 0x1001da47
mov dword [ebp - 4], ebx
jmp 0x1001d9be
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x94], 0xfffffff7
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d9ad
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp + eax*4 - 0xf8]
test eax, eax
setne cl
cmp edx, ecx
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffe
jne 0x1001d9f3
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jne 0x1001da6b
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffffc
pop eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
sub eax, 5
neg eax
push 2
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1ec], eax
inc dword [ebp - 0x1c]
pop edx
cmp dword [ebp - 0x1c], esi
jle 0x1001d96d
dec dword [ebp - 8]
push 2
pop edx
jns 0x1001d950
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
push 2
pop edx
jl 0x1001d91e
mov dword [ebp - 0x18], 0x757a8360
mov dword [ebp - 0x14], ebx
jmp 0x1001dad1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc], 0x505b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001dac0
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x108], eax
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xc8]
add ecx, 0x6bca
cmp ecx, eax
setne dl
add edx, 4
mov dword [ebp - 0x18], edx
je 0x1001db17
mov eax, dword [ebp - 0x28]
mov edx, esi
cmp dword [ebp + eax*4 - 0xc0], ebx
jne 0x1001db19
mov edx, ebx
mov eax, dword [ebp - 0x108]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
push 3
setle cl
xor edx, edx
cmp ecx, 0x3e24
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setge cl
cmp eax, ecx
mov eax, dword [ebp - 0xc0]
sbb ecx, ecx
xor ebx, ebx
neg ecx
sub ecx, 0x2b6367af
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setle bl
sub ebx, 0xfffffff6
mov eax, dword [ebp + eax*4 - 0xc0]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0xc8]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xb8ee
setle al
xor ecx, ecx
test eax, eax
setle cl
xor ebx, ebx
mov dword [ebp - 0x98], ecx
test ecx, ecx
je 0x1001e0c8
push 3
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x1001dbbf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x114], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001dbae
mov dword [ebp - 0x10], 0x10
cmp dword [ebp - 0x10], 0x1c
jle 0x1001dcab
push 2
pop eax
mov dword [ebp - 8], 0x39924432
mov dword [ebp - 0x18], 0xf29c8dda
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jl 0x1001dc9e
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], 0xbb2f
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jl 0x1001dc95
mov dword [ebp - 0x18], 0xe4f9dbc9
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x114], ebx
jne 0x1001dc92
cmp dword [ebp - 0x1c], ebx
jne 0x1001dc7c
cmp dword [ebp - 0x10], ebx
jne 0x1001dc70
mov ecx, esi
push 8
pop eax
sub eax, ecx
add eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x1c]
jns 0x1001dc0b
push 2
pop eax
dec dword [ebp - 8]
jns 0x1001dbf2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1c
jg 0x1001dbd8
mov dword [ebp - 0x10], ebx
jmp 0x1001dcd0
mov dword [ebp - 0x24], 0x1434a938
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0xfffffffb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
jg 0x1001dcb0
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x10], 0x18
cmp dword [ebp - 0x10], 0xffffffe2
jne 0x1001dd17
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001dd12
mov dword [ebp - 0x10], 0x13
cmp dword [ebp - 0x10], 0xfffffff4
jge 0x1001de3d
cmp dword [ebp - 0x98], ebx
jne 0x1001e20c
mov dword [ebp - 8], esi
mov dword [ebp - 0x24], 0xe00f6802
push 2
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001e0fb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001e0ed
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
jl 0x1001e167
mov dword [ebp - 0x18], 0x50a4ba31
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
cmp eax, edx
mov eax, dword [ebp - 8]
setne cl
sub ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 8]
sub ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x24]
dec eax
add eax, ecx
xor ecx, ecx
cmp eax, esi
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + eax*4 - 0x6c]
imul ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
sub ecx, dword [ebp + eax*4 - 0x6c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
dec dword [ebp - 8]
jns 0x1001e108
push 0x591b
lea eax, [ebp - 0xf0]
push eax
push ebx
call fcn.100213d7
mov dword [ebp - 0x14], 0x8c45cdbe
add esp, 0xc
mov dword [ebp - 0x24], 0xb63e8e1b
mov dword [ebp - 0x18], 0x33f23e93
mov ecx, dword [ebp - 0x24]
sub ecx, 0xfff8
neg ecx
push 0xfffffffffffffff6
sbb ecx, ecx
inc ecx
pop eax
sub eax, ecx
xor ecx, ecx
cmp eax, 0x77278fa8
setl cl
xor edx, edx
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
imul ecx, ecx, 0xfffffffc
cmp ecx, eax
setg dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
sub eax, 0xb548
imul eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
mov byte [ebp - 9], bl
jle 0x1001e1e3
cmp byte [ebp - 9], bl
je 0x1001e200
push ebx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
jmp 0x1001e200
cmp byte [ebp - 9], bl
je 0x1001e200
push 0xb96
push 0x33a
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x1001d5c9
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
push 3
pop edx
push 2
pop ecx
jge 0x1001d273
mov edi, dword [ebp - 0x8c]
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x20], ebx
jmp 0x1001e256
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1a4], 0xa8ea
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001e245
mov dword [ebp - 0xdc], ebx
cmp dword [ebp - 0xdc], ebx
jl 0x1001e280
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001e278
call dword [sym.imp.USER32.dll_GetMessageTime]
dec dword [ebp - 0xdc]
jns 0x1001e269
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001e292
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
push ebx
call fcn.10020fa7
pop ecx
mov eax, edi
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0xe4]
mov edi, edx
mov esi, eax
call fcn.1001c812
add eax, esi
add eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret