Function at 0x10015ff4
Capabilities:
Create thread
Terminate process

Disassembly:
mov eax, 0x10074089
call fcn.100732d8
mov eax, 0xa65c
call fcn.1006f1b0
push ebx
mov byte [ebp - 0x69], dl
xor edx, edx
mov dword [ebp - 0x64], ecx
xor ecx, ecx
mov dword [ebp - 0x24], edx
inc ecx
push esi
mov dword [ebp - 0x14], edx
push edi
mov dword [ebp - 0x1c], edx
jmp 0x10016032
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc4], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10016021
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], edx
jl 0x10016083
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0x1c], edx
je 0x10016057
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xc4], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xc4]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x24]
jns 0x1001603f
mov eax, dword [ebp - 0xc4]
mov esi, 0xb4af
mov ecx, dword [ebp - 0x24]
mov edi, 0x63ec
mov ebx, 0x1e2d
sub ecx, eax
je 0x100160d7
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x14]
push 4
setg cl
xor edx, edx
cmp ecx, edi
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, ebx
setne cl
sub eax, ecx
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
je 0x100160d5
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, ecx
jmp 0x100160dc
xor edx, edx
xor ecx, ecx
mov eax, edx
inc ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], edx
jmp 0x100160fb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc8], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100160ea
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], edx
jl 0x1001614c
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0x1c], edx
je 0x10016120
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0xc8]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xc8], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xc8]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x24]
jns 0x10016108
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x24]
push 4
sub ecx, eax
je 0x10016191
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x14]
pop esi
setg cl
xor edx, edx
cmp ecx, edi
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, ebx
setne cl
sub eax, ecx
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
je 0x1001618d
xor eax, eax
inc eax
xor edx, edx
jmp 0x10016194
xor edx, edx
jmp 0x10016192
pop esi
mov eax, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x76820624
mov dword [ebp - 0x1c], edx
jmp 0x100161bb
cmp byte [ebp - 0xd], 0
je 0x100161b8
push 0x2b0
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor edx, edx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff1
mov byte [ebp - 0xd], dl
jne 0x100161a3
cmp byte [ebp - 0xd], 0
je 0x100161fe
push 0x2560
push 0x1d34
push 0xb7c
push 0x19e1
push 0xdb3
push 0x550
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
xor edx, edx
mov dword [ebp - 0x4c], 0x8a87013d
xor ecx, ecx
mov dword [ebp - 0x14], 0x39d6b9c2
inc ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jle 0x1001622a
mov eax, ecx
cmp dword [ebp - 0x4c], edx
jne 0x1001622c
mov eax, edx
cmp eax, 3
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffff8
setg cl
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
setl cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x10016287
xor ecx, ecx
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], cl
je 0x10016385
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10016383
xor esi, esi
lea ecx, [ebp - 0x83c]
inc esi
push esi
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 0x1c], edx
jmp 0x100162b0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x83c]
mov dword [eax + ecx*4], 0xb39d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001629d
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], edx
jl 0x10016378
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
jmp 0x10016361
mov dword [ebp - 0x3c], 0x1584
cmp dword [ebp - 0x3c], 0xa2c
jge 0x1001634f
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x1a4]
push eax
push 0x1000a880
call fcn.100593cb
add esp, 0xc
mov esi, ebx
mov edi, ebx
cmp dword [ebp - 0x1a4], ebx
jle 0x10016344
lea eax, [ebp - 0x2c8]
push eax
push 0x1000a6dc
call fcn.100593cb
add esi, dword [ebp - 0x2c8]
mov eax, esi
cdq
idiv dword [ebp - 0x1ec]
push eax
push 0x1000a6f8
call fcn.100595c0
mov eax, esi
add esp, 0x10
cdq
idiv dword [ebp - 0x1ec]
inc edi
mov esi, edx
cmp edi, dword [ebp - 0x1a4]
jl 0x10016302
push 0x1000a690
call fcn.10059696
pop ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1001635e
push ebx
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x100162cb
dec dword [ebp - 0x2c]
jns 0x100162c3
mov ebx, 0x1e2d
lea ecx, [ebp - 0x83c]
call fcn.1000c116
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], 0xac204e2
mov dword [ebp - 0x3c], 0x2654
cmp dword [ebp - 0x3c], 0xd33
jge 0x100163d8
lea eax, [ebp - 0x314]
mov ecx, 0x10665a70
push eax
call fcn.10024940
mov eax, dword [ebp - 0x314]
mov ecx, 0x106659b8
add eax, 0xfffffffc
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.10024b67
push eax
call fcn.10014ec1
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10016406
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
xor ecx, ecx
push 9
pop edi
mov dword [ebp - 0x4c], edi
jmp 0x10016441
mov dword [ebp - 0x14], 0xea388845
cmp dword [ebp - 0x4c], ecx
je 0x10016426
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x13
jl 0x1001640e
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
inc ecx
jmp 0x10016463
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd0], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10016452
mov dword [ebp - 0x44], 0xe387fb0b
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x2c], 0x716b5b38
mov dword [ebp - 0x24], 0x309a
push 2
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 0x1c], edx
jmp 0x100164a4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5a0]
mov dword [eax + ecx*4], 0xa450c197
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10016491
cmp dword [ebp - 0x44], edx
je 0x100164c2
mov dword [ebp - 0x3c], 0x114768c0
mov dword [ebp - 0x3c], 0xec2db221
jmp 0x10016594
mov dword [ebp - 0x14], 0x9035
xor ecx, ecx
mov dword [ebp - 0x3c], 0x61943ec3
inc ecx
mov dword [ebp - 0x4c], edx
jmp 0x100164e9
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x298], 0x1ef9953e
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ecx
jl 0x100164d8
mov dword [ebp - 0x4c], edx
jmp 0x10016500
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x3d0], ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jl 0x100164f3
mov eax, dword [ebp - 0x14]
xor edx, edx
neg eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setne dl
neg edx
je 0x1001652c
cmp dword [ebp - 0x14], 0
je 0x1001652c
xor esi, esi
inc esi
mov edx, esi
jmp 0x10016531
xor esi, esi
xor edx, edx
inc esi
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x298], ecx
mov eax, dword [ebp - 0x3d0]
sub ecx, eax
mov eax, dword [ebp - 0x3d0]
sub ecx, eax
inc ecx
jne 0x1001655d
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x14], eax
je 0x1001655f
mov edx, esi
mov eax, dword [ebp - 0x3d0]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
imul eax, ecx, 0xa094
cmp dword [ebp - 0x44], eax
jg 0x1001657e
cmp dword [ebp - 0x14], edx
je 0x10016584
mov eax, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 0xec0
setne cl
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0xffffffff
jl 0x10016622
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], edi
jg 0x100165f8
xor esi, esi
inc esi
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100165d1
push 0x229
push 0x2644
push 0x1a4b
push 0x1cd7
push ebx
call dword [sym.imp.USER32.dll_SetRect]
mov dword [ebp - 0x24], ebx
jmp 0x100165eb
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x5a0]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x100165d6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jle 0x100165ae
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10016614
push ebx
push 0x1ec5
push ebx
push ebx
push 0x26cd
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffff
jge 0x100165a3
mov ebx, 0x1e2d
lea ecx, [ebp - 0x5a0]
call fcn.1000c116
xor eax, eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], eax
jl 0x100168ad
push 3
pop ebx
mov dword [ebp - 0x1c], 0xffffffff
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x3c], 0xfffffffc
push ebx
call fcn.1000c0ba
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
jmp 0x10016673
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x17c], ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jl 0x10016666
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], ebx
jge 0x1001669a
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4d8]
mov dword [eax + ecx*4], 0xae734f12
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jl 0x10016680
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x178], 0xffffffe6
inc ebx
cmp dword [ebp - 0x178], 0x14
jle 0x10016785
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], 0xed38
mov dword [ebp - 0x2c], ecx
jmp 0x100166d0
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xd4], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x100166c3
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], ecx
jl 0x1001670c
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10016707
push ecx
push 0xbd0
push 0x24ec
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
xor ecx, ecx
dec dword [ebp - 0x4c]
jns 0x100166dd
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
setge cl
add ecx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x3c]
cmp ecx, 6
jle 0x10016735
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
dec edx
neg edx
push 0
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
cmp ebx, ecx
pop ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x178]
jmp 0x100166a7
mov eax, dword [ebp - 0x4d8]
xor edx, edx
cmp dword [eax], ebx
setne dl
xor ecx, ecx
cmp edx, dword [eax + 4]
mov eax, dword [ebp - 0x174]
setne cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x4d8]
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x4d8]
call fcn.1000c116
push 8
mov dword [ebp - 0x24], 0xec2e0cf5
xor ebx, ebx
pop eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff2
jle 0x10016867
xor esi, esi
inc esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x44], ebx
jmp 0x10016854
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x24], ebx
jne 0x10016833
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, 7
mov eax, dword [ebp - 0x44]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
add edx, 0xa522
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x14]
mov ecx, ebx
jne 0x10016835
mov ecx, esi
mov eax, dword [ebp - 0x24]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffff9
jle 0x100167e7
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff2
jg 0x100167d8
cmp dword [ebp - 0x1c], ebx
je 0x10016878
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0xd0], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0xd0]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x54]
jns 0x1001663b
mov ebx, 0x1e2d
xor edi, edi
lea ecx, [ebp - 0x308]
inc edi
push edi
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 4], edx
push 8
mov dword [ebp - 0x24], 0x81c2900
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], edx
jmp 0x100168e6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x308]
mov dword [eax + ecx*4], 0x1713b910
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100168d3
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], edx
jg 0x1001699f
xor ebx, ebx
push 2
lea ecx, [ebp - 0x3e8]
call fcn.1000c0ba
mov dword [ebp - 0x1c], ebx
jmp 0x1001691e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3e8]
mov dword [eax + ecx*4], 0x56ebf4d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001690b
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x308]
cmp dword [eax + ecx*4], ebx
jne 0x10016953
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x308]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov edx, ebx
test eax, eax
je 0x10016955
mov edx, edi
mov eax, dword [ebp - 0x3e8]
xor ecx, ecx
cmp dword [eax], ebx
setne cl
imul eax, ecx, 0x3860
cmp eax, 0xffffffff
jg 0x10016970
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x3e8]
cmp edx, dword [eax]
setle cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x3e8]
call fcn.1000c116
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x100168f9
mov ebx, 0x1e2d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
call fcn.1000c116
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x54]
sub ecx, eax
je 0x100169f3
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xb4af
mov eax, dword [ebp - 0x18]
push 4
setg cl
xor edx, edx
cmp ecx, 0x63ec
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setne cl
sub ebx, ecx
cmp eax, ebx
sbb eax, eax
neg eax
mov dword [ebp - 0x54], eax
je 0x100169f3
mov eax, edi
xor ebx, ebx
jmp 0x100169f7
xor ebx, ebx
mov eax, ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], 0x2281
cmp dword [ebp - 0x3c], 0x605
jge 0x10016b6b
lea eax, [ebp - 0xb8]
push eax
push ecx
lea eax, [ebp - 0xe4]
mov ecx, 0x10665a70
push eax
call fcn.10024940
pop ecx
mov ecx, eax
call fcn.10024940
push dword [ebp - 0xe4]
lea ecx, [ebp - 0x27c]
call fcn.1000c141
mov dword [ebp - 4], edi
mov edi, ebx
cmp dword [ebp - 0xe4], 0
mov ebx, dword [ebp - 0x27c]
jle 0x10016a75
push 4
mov esi, ebx
pop ebx
push esi
mov ecx, 0x10665a70
call fcn.10024940
inc edi
add esi, ebx
cmp edi, dword [ebp - 0xe4]
jl 0x10016a59
mov ebx, dword [ebp - 0x27c]
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x594]
call fcn.1000c141
xor edi, edi
mov byte [ebp - 4], 2
cmp dword [ebp - 0xb8], edi
jle 0x10016ab9
mov esi, dword [ebp - 0x594]
push 4
pop ebx
push esi
mov ecx, 0x10665a70
call fcn.10024940
inc edi
add esi, ebx
cmp edi, dword [ebp - 0xb8]
jl 0x10016a9d
mov ebx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x278]
push edi
push ebx
call fcn.1002589c
pop ecx
pop ecx
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0xb8], eax
jle 0x10016b4e
sub edi, ebx
sar edi, 2
mov esi, edi
mov byte [ebp - 0xd5], cl
mov ecx, ebx
test esi, esi
jle 0x10016b20
mov edx, dword [ebp - 0x594]
mov eax, dword [edx + eax*4]
mov ebx, eax
mov dword [ebp - 0x3c], eax
mov eax, esi
cdq
sub eax, edx
mov edx, eax
sar edx, 1
lea eax, [ecx + edx*4]
cmp ebx, dword [eax]
jl 0x10016b14
lea ecx, [eax + 4]
or eax, 0xffffffff
sub eax, edx
add esi, eax
jmp 0x10016b16
mov esi, edx
test esi, esi
jg 0x10016af8
mov ebx, dword [ebp - 0x27c]
sub ecx, ebx
sar ecx, 2
push ecx
mov ecx, 0x106659b8
call fcn.10024b67
mov edx, 0x1000a7d8
mov ecx, eax
call fcn.10014cea
mov eax, dword [ebp - 0x14]
inc eax
push 0
mov dword [ebp - 0x14], eax
pop ecx
cmp eax, dword [ebp - 0xb8]
jl 0x10016adc
lea ecx, [ebp - 0x594]
call fcn.1000c116
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x27c]
call fcn.1000c116
xor edi, edi
inc edi
mov esi, 0xbf5cd53b
xor ecx, ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], 0xaa0d
mov dword [ebp - 0x3c], 0xbf2d3f50
cmp dword [ebp - 0x14], ecx
jne 0x10016b95
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x2c]
jl 0x10016b99
cmp dword [ebp - 0x14], ecx
je 0x10016b99
mov edx, edi
jmp 0x10016b9b
mov edx, ecx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov ebx, dword [sym.imp.USER32.dll_IsIconic]
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, 0x714a0256
setne al
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], ecx
jmp 0x10016bd7
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10016bd4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
xor ecx, ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 7
je 0x10016bc0
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], 0xaa0d
mov dword [ebp - 0x3c], 0xbf2d3f50
cmp dword [ebp - 0x14], ecx
jne 0x10016c00
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x2c]
jl 0x10016c04
cmp dword [ebp - 0x14], ecx
je 0x10016c04
mov edx, edi
jmp 0x10016c06
mov edx, ecx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, 0x714a0256
setne al
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10016c3c
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10016c39
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 7
je 0x10016c25
push 4
xor ebx, ebx
lea ecx, [ebp - 0x69c]
pop esi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x14], 0x9ee1c974
push esi
call fcn.1000c0ba
mov dword [ebp - 4], 3
mov dword [ebp - 0x1c], ebx
jmp 0x10016c7c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x69c]
mov dword [eax + ecx*4], 0x245f5b1b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10016c69
mov dword [ebp - 0x44], 0xfffffffa
jmp 0x10016dcf
push 3
lea ecx, [ebp - 0x478]
call fcn.1000c0ba
push 4
pop eax
push eax
lea ecx, [ebp - 0x5ac]
mov byte [ebp - 4], al
call fcn.1000c0ba
xor ebx, ebx
mov byte [ebp - 4], 5
inc ebx
lea ecx, [ebp - 0x744]
push ebx
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 0x18], edx
jmp 0x10016cd5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x478]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10016cc6
push 4
mov dword [ebp - 0x18], edx
pop esi
jmp 0x10016cf3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5ac]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10016ce3
mov dword [ebp - 0x18], edx
jmp 0x10016d10
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x744]
mov dword [eax + ecx*4], 0x93e623b4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10016cfd
mov ebx, dword [ebp - 0x5ac]
mov dword [ebx + 4], edx
cmp dword [ebp - 0x44], edx
je 0x10016d35
mov eax, dword [ebp - 0x69c]
cmp dword [eax + 0xc], edx
je 0x10016d35
xor eax, eax
lea esi, [eax + 1]
jmp 0x10016d37
mov esi, edx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x478]
push 0
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
add edx, 0xc13
add eax, esi
cmp edx, eax
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x478]
mov esi, dword [ebx + 4]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebx + 4]
setg dl
xor ecx, ecx
mov eax, dword [edi + eax*4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x744]
setl cl
xor edx, edx
cmp dword [edi + esi*4], ecx
setl dl
mov dword [eax], edx
inc dword [ebx + 4]
cmp dword [ebx + 4], 2
pop edx
jle 0x10016d1e
xor ebx, ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10016da7
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea ecx, [ebp - 0x744]
call fcn.1000c116
lea ecx, [ebp - 0x5ac]
call fcn.1000c116
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 3
call fcn.1000c116
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xc
je 0x10016c8d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x69c]
call fcn.1000c116
xor edi, edi
mov dword [ebp - 0x34], 0x642c
inc edi
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x54], 0xfffffff6
push 3
call fcn.1000c0ba
mov dword [ebp - 0x1c], ebx
jmp 0x10016e21
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], 0x969b42c5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10016e0e
mov dword [ebp - 0x3c], 0x1ba2
cmp dword [ebp - 0x3c], 0x867
jge 0x10016eee
push 0x10666b10
push 0x1066f24c
push 0x1000a888
call fcn.100593cb
mov ecx, dword [0x1066f24c]
add esp, 4
movd xmm0, dword [0x10666b10]
mov edi, ecx
imul eax, ecx, 5
cvtdq2pd xmm0, xmm0
lea esi, [ecx + ecx]
shl edi, 3
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.1005b4c0
movd xmm0, dword [0x10666b10]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
fstp qword [ebp - 0x40]
divsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.1005b4c0
movd xmm0, dword [0x10666b10]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
fadd qword [ebp - 0x40]
divsd xmm1, xmm0
fstp qword [ebp - 0x40]
movsd qword [esp], xmm1
call fcn.1005b4c0
fadd qword [ebp - 0x40]
fstp qword [ebp - 0x40]
cvttsd2si eax, qword [ebp - 0x40]
push eax
push 0x1000a7c4
call fcn.100595c0
xor edi, edi
add esp, 0x10
inc edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x34], ebx
je 0x10016f25
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub edx, 0x6fc6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x194]
mov dword [eax], ecx
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
inc edx
sub edx, 0x12c0
jne 0x10016f4e
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x34]
imul ecx, dword [eax + 4]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setne dl
xor ebx, ebx
cmp edx, 0x7684abf0
setge bl
xor ecx, ecx
cmp ebx, eax
mov ebx, 0xffffd2e2
setne cl
cmp dword [ebp - 0x24], ecx
mov ecx, 0xd553f327
je 0x10017015
xor ebx, ebx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x34], ebx
jmp 0x1001700a
push 8
pop eax
mov dword [ebp - 0x14], eax
mov ecx, 0xf89c8945
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub ecx, eax
cmp ecx, 0x3a5c25cc
jne 0x10016fc8
cmp dword [ebp - 0x1c], ebx
je 0x10016fc8
xor edx, edx
inc edx
mov eax, edx
jmp 0x10016fcd
xor edx, edx
mov eax, ebx
inc edx
xor ecx, ecx
test eax, eax
setg cl
xor eax, eax
cmp ecx, 0xfffffffb
setge al
cmp dword [ebp - 0x14], eax
jg 0x10016fe8
mov eax, edx
cmp dword [ebp - 0x54], ebx
jne 0x10016fea
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x54]
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x14]
dec edx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x19
jg 0x10016fa1
jmp 0x100171db
mov dword [ebp - 0x18], 0x1cf0
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x34], 0xfffffff7
cmp dword [ebp - 0x34], 0x1c
jne 0x1001718b
xor edx, edx
mov dword [ebp - 0x4c], 0x6af4a9b8
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0xfffffff5
jg 0x10017162
push 2
pop ebx
mov dword [ebp - 0x5c], 0x4114487f
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], ebx
jg 0x100170ab
mov dword [ebp - 0x44], 0x15869b92
mov dword [ebp - 0x44], edx
jmp 0x1001708b
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x1c], edx
jmp 0x10017083
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10017077
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x10017068
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x194]
cmp dword [eax + ecx*4], edx
jne 0x100170a6
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], ebx
jle 0x1001705c
mov ecx, 0xd553f327
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], ebx
jg 0x10017150
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
sbb ecx, ecx
or eax, 0xffffffff
inc ecx
sub eax, ecx
jne 0x100170c9
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
neg edx
mov eax, dword [ebp - 0x194]
sbb edx, edx
neg edx
push 2
mov eax, dword [eax + ecx*4]
mov ecx, edi
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
sub ecx, eax
xor eax, eax
cmp edx, 0x9bb1
setg al
xor edx, edx
cmp ecx, eax
setl dl
xor ebx, ebx
imul edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg bl
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, ebx
mov eax, dword [ebp - 0x194]
pop ebx
setle cl
xor edx, edx
cmp ecx, dword [eax + esi*4]
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x194]
sete cl
mov dword [eax], ecx
mov ecx, 0xd553f327
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x100170b7
xor edx, edx
dec dword [ebp - 0x24]
mov ecx, 0xd553f327
cmp dword [ebp - 0x24], 0xfffffff5
jle 0x1001704d
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x10017174
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor edx, edx
inc dword [ebp - 0x34]
mov ecx, 0xd553f327
cmp dword [ebp - 0x34], 0x1c
je 0x10017036
mov ebx, 0xffffd2e2
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x54], 0x6a268257
jge 0x1001719a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x100171bf
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp - 0x194]
sub ecx, 0xbe14b938
neg ecx
sbb ecx, ecx
inc ecx
xor ebx, ebx
mov dword [eax], ecx
lea ecx, [ebp - 0x194]
call fcn.1000c116
push 4
pop esi
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x5dc]
mov dword [ebp - 0x14], 0x9ee1c974
push esi
call fcn.1000c0ba
mov dword [ebp - 4], 6
mov dword [ebp - 0x1c], ebx
jmp 0x1001721e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5dc]
mov dword [eax + ecx*4], 0x245f5b1b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001720b
mov dword [ebp - 0x44], 0xfffffffa
jmp 0x10017374
push 3
lea ecx, [ebp - 0x320]
call fcn.1000c0ba
push esi
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 7
call fcn.1000c0ba
push 8
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x5c4]
xor eax, eax
inc eax
push eax
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
cmp dword [ebp - 0x18], 3
jge 0x1001727e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x320]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
jmp 0x10017267
mov dword [ebp - 0x18], ebx
jmp 0x10017293
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x714]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10017283
mov dword [ebp - 0x18], ebx
jmp 0x100172b0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c4]
mov dword [eax + ecx*4], 0x93e623b4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001729d
mov esi, dword [ebp - 0x714]
mov dword [esi + 4], ebx
cmp dword [ebp - 0x44], ebx
je 0x100172d0
mov eax, dword [ebp - 0x5dc]
mov edi, edx
cmp dword [eax + 0xc], ebx
jne 0x100172d2
mov edi, ebx
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x320]
push 0
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
add edx, 0xc13
add eax, edi
cmp edx, eax
mov eax, dword [ebp - 0x44]
setle cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x320]
setg dl
xor ebx, ebx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, edx
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x320]
setl bl
xor edx, edx
cmp dword [eax + ecx*4], ebx
mov eax, dword [ebp - 0x5c4]
setl dl
pop ebx
push 1
mov dword [eax], edx
inc dword [esi + 4]
cmp dword [esi + 4], 2
pop edx
jle 0x100172be
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10017349
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea ecx, [ebp - 0x5c4]
call fcn.1000c116
lea ecx, [ebp - 0x714]
call fcn.1000c116
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 6
call fcn.1000c116
inc dword [ebp - 0x44]
push 4
pop esi
cmp dword [ebp - 0x44], 0xc
je 0x1001722f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5dc]
call fcn.1000c116
xor eax, eax
lea ecx, [ebp - 0x6b4]
inc eax
push eax
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 0x1c], 0xb50bf34f
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x100173be
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6b4]
mov dword [eax + ecx*4], 0x8b13eca4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100173ab
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100173ea
push 0x208f
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolygon]
xor edx, edx
inc edx
mov dword [ebp - 0x1c], ebx
jmp 0x10017402
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6b4]
mov dword [eax + ecx*4], 0xe60f951
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100173ef
lea ecx, [ebp - 0x6b4]
call fcn.1000c116
xor eax, eax
lea ecx, [ebp - 0x21c]
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], 0xd6887694
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x1c], 0xffffffff
push eax
call fcn.1000c0ba
xor edx, edx
mov dword [ebp - 4], 9
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1001745b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x21c]
mov dword [eax + ecx*4], 0xaa08
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10017448
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x7535
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x21c]
setl dl
cmp edx, dword [eax]
jg 0x1001749c
cmp dword [ebp - 0x14], ebx
jne 0x1001749c
xor edx, edx
mov eax, ebx
inc edx
jmp 0x100174a1
xor edx, edx
inc edx
mov eax, edx
xor ecx, ecx
cmp eax, 0x6684
mov eax, dword [ebp - 0x21c]
setle cl
inc ecx
imul ecx, dword [eax]
test ecx, ecx
jne 0x100174c0
mov ecx, ebx
cmp dword [ebp - 0x14], ebx
je 0x100174c2
mov ecx, edx
mov dword [ebp - 0x2c], 6
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x2c], ebx
jmp 0x100175b1
mov dword [ebp - 0x3c], 0x4c46983c
lea ecx, [ebp - 0x7d8]
push 3
call fcn.1000c0ba
push 8
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x5c], 0xe879096a
mov dword [ebp - 0x1c], ebx
jmp 0x1001751d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7d8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001750e
mov dword [ebp - 0x18], ebx
jmp 0x1001759e
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x21c]
mov eax, dword [edi + eax*4]
cmp eax, dword [edi + edx*4]
setge cl
xor eax, eax
cmp ecx, dword [edi + esi*4]
setg al
sub eax, dword [edi + ebx*4]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
neg eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x86e1
jge 0x10017570
cmp dword [ebp - 0x18], ebx
jne 0x10017582
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x21c]
cmp dword [eax + ecx*4], ebx
jne 0x10017582
mov esi, ebx
jmp 0x10017587
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x21c]
cmp dword [eax + ecx*4], esi
setg dl
mov dword [ebp - 0x5c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x10017528
lea ecx, [ebp - 0x7d8]
call fcn.1000c116
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x100174e8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.1000c116
mov dword [ebp - 0x44], 0xbf5cd53b
lea ecx, [ebp - 0x5f4]
xor edi, edi
mov dword [ebp - 0x34], 0x532bb11a
inc edi
mov dword [ebp - 0x18], 0x2d8cb4c2
mov dword [ebp - 0x1c], edi
push 2
call fcn.1000c0ba
push 0xfffffffffffffffe
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], ebx
pop edx
jmp 0x1001760f
cmp dword [ebp - 0x2c], 2
jl 0x10017600