Function at 0x10016021
Capabilities:
Clear file content
Delete registry value
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
mov dword [ebp - 0x6c], edx
push 3
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x18], 0xfffffffa
pop edi
jmp 0x10016121
mov dword [ebp - 0xc], 0xcddd1d8f
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0xc3d069f4
mov dword [ebp - 0x1c], ebx
jmp 0x10016075
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd8], 0x9acd4098
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10016064
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
setg dl
mov dword [ebp - 0x10], edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp dword [ebp - 0x10], edx
setl bl
add eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, ebx
setg cl
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1001611e
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x100160e7
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x100160e2
push ebx
push 0x23fc
push ebx
call dword [sym.imp.GDI32.dll_GetRegionData]
dec dword [ebp - 4]
jns 0x100160cd
mov dword [ebp - 4], ebx
jmp 0x10016114
mov dword [ebp - 0xc], ebx
jmp 0x10016102
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x124], 0x928d9ba5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x100160f1
mov dword [ebp - 0x120], 0xb89bdd77
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x100160ec
dec dword [ebp - 0x1c]
jns 0x100160c5
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff8
jl 0x1001604a
mov dword [ebp - 0x18], 0xe91a049f
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x11
jge 0x100161dd
mov dword [ebp - 4], 0xedf6b3e7
mov dword [ebp - 0xc], ebx
jmp 0x10016169
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc0], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1001615c
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, esi
setl cl
xor edx, edx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x14], 0xb3f36565
mov dword [ebp - 0x10], ebx
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp eax, ebx
setle cl
cmp dword [ebp - 0x14], ecx
jg 0x100161c1
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
push 0
pop ebx
jl 0x10016150
mov dword [ebp - 4], 5
mov dword [ebp - 4], ebx
jmp 0x10016289
mov dword [ebp - 0x14], 0x3ecf04b0
mov dword [ebp - 0x10], 0x9892657c
mov dword [ebp - 0xc], ebx
jmp 0x10016209
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x34], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x100161ff
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x10016226
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x34], 0xb0bb
mov ecx, 0xb0bb
sub ecx, eax
jne 0x1001623e
cmp dword [ebp - 0x34], ebx
jne 0x1001623e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 4], edx
ja 0x1001624d
mov edx, ebx
cmp dword [ebp - 4], ebx
je 0x1001624f
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x34]
jne 0x10016261
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
xor ebx, ebx
imul eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x34]
cmp eax, 0x9a164e6
mov eax, dword [ebp - 4]
setle bl
xor edx, edx
cmp eax, ecx
setl dl
sub edx, ebx
mov dword [ebp - 0x10], edx
inc dword [ebp - 4]
xor ebx, ebx
mov edx, 0xfff8
cmp dword [ebp - 4], ebx
jg 0x100161ec
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], 5
mov dword [ebp - 0xc], ebx
jmp 0x100162b3
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x100], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x100162a6
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x100162e4
push ebx
push 0xdde
push 0x2078
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x20], 0xc290
inc eax
mov dword [ebp - 0xc], 0xbac64a68
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 3
jg 0x1001635d
jmp 0x1001630f
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add edx, 0x2daa
cmp edx, eax
setl cl
test ecx, ecx
jle 0x1001634f
cmp dword [ebp - 0x14], ebx
je 0x1001634f
xor eax, eax
inc eax
jmp 0x10016351
mov eax, ebx
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x1001630c
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x10016370
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_ShowOwnedPopups]
mov dword [ebp - 0xc], ebx
jmp 0x10016397
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x10016384
call dword [sym.imp.GDI32.dll_GdiFlush]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x10016394
push ebx
call dword [sym.imp.USER32.dll_CreateIconIndirect]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffd
jne 0x10016375
mov dword [ebp - 4], 1
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], 0x611ca4b3
mov dword [ebp - 0x14], 0x88d2
push 3
mov dword [ebp - 0x10], 0x9b96bc71
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], 4
mov dword [ebp - 0xc], ebx
jmp 0x100163db
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x118], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x100163ce
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
xor ebx, ebx
cmp edx, eax
setge bl
xor ecx, ecx
add ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, ebx
mov eax, dword [ebp - 4]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
imul eax, ecx, 0xd3cd
xor ecx, ecx
cmp eax, 0x890f
setne cl
xor ebx, ebx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ebx
je 0x1001644b
cmp dword [ebp - 4], ebx
je 0x1001644b
xor edx, edx
inc edx
jmp 0x1001644d
mov edx, ebx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffffe
setle al
xor ecx, ecx
neg eax
inc ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
sub ecx, eax
je 0x1001647e
cmp dword [ebp - 0x14], ebx
je 0x1001647e
xor ecx, ecx
inc ecx
jmp 0x10016480
mov ecx, ebx
mov eax, dword [ebp - 4]
sub eax, ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 4], 0xffff
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
push 7
setl dl
imul edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
inc ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xc], 0xfffffff8
mov dword [ebp - 0x20], 0x67f5ed9a
pop eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xa97963ba
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x65c2dd78
push 3
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ebx
pop edx
cmp dword [ebp - 4], edx
jge 0x10016519
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x158], ecx
inc dword [ebp - 4]
jmp 0x10016505
mov dword [ebp - 4], ebx
jmp 0x1001652f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x168], 0xc99cdf9c
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001651e
mov dword [ebp - 0xc], ebx
jmp 0x10016579
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 4], ebx
jmp 0x1001655a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x140], 0x62e08974
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x10016549
mov dword [ebp - 4], ebx
jmp 0x1001656e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3c], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10016564
inc dword [ebp - 0x3c]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x1001653a
mov dword [ebp - 4], 0xe83c773
mov edx, 0xffff
mov dword [ebp - 0x20], 0x7d0d1d8
mov dword [ebp - 0x20], 0xcc65ad6c
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x20], 0x1949
mov dword [ebp - 4], ebx
jmp 0x100165b2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x68], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x100165a8
push 2
mov dword [ebp - 4], ebx
pop edx
jmp 0x100165d1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe0], 0xa79cc099
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x100165c0
mov dword [ebp - 4], edx
push 0xfffffffffffffffc
pop eax
cmp dword [ebp - 4], ebx
jl 0x1001665f
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x68], ebx
je 0x10016624
mov eax, dword [ebp - 4]
mov edx, ecx
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x68], ebx
jne 0x10016626
mov edx, ebx
mov dword [ebp - 0xdc], edx
xor ecx, ecx
mov eax, dword [ebp - 4]
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 4]
jl 0x1001664b
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x68], ebx
jne 0x1001664b
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x10016650
xor ecx, ecx
inc ecx
mov eax, ecx
dec eax
mov dword [ebp - 0x9c], eax
dec dword [ebp - 4]
push 0xfffffffffffffffc
pop eax
jns 0x100165e1
dec dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0xc], ebx
jmp 0x1001667a
mov dword [ebp - 0x10], ebx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe8
jg 0x10016674
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016690
call edi
push eax
call esi
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], 0xfb871c7b
mov dword [ebp - 0x20], 0x50e6da50
mov dword [ebp - 0x18], 0x71d976ff
mov dword [ebp - 0x10], 4
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
jmp 0x100166c9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x24], 0xe307b5ca
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x100166bb
mov dword [ebp - 4], ebx
jmp 0x100166e4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa8], 0x41ab7a3e
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x100166d3
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x10016706
cmp dword [ebp - 0x24], ebx
jne 0x10016706
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x7826243a
cmp dword [ebp - 0x24], ebx
jne 0x10016719
mov esi, ebx
cmp dword [ebp - 4], ebx
je 0x1001671b
mov esi, ecx
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setle dl
cmp edx, dword [ebp - 0x24]
jg 0x10016736
cmp dword [ebp - 0x10], ebx
jne 0x10016736
mov eax, ebx
jmp 0x10016739
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
imul eax, edx
xor edx, edx
cmp esi, eax
setl dl
imul edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
sub ecx, edx
mov edx, dword [ebp - 4]
add ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
add edx, eax
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x1c], ebx
jmp 0x10016807
mov dword [ebp - 0xc], 0xfffffff6
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0xc]
imul esi, dword [ebp - 0xc], 0xffff9b4e
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x14]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp esi, edx
setne al
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
je 0x10016784
mov dword [ebp - 0x14], 0xf89b546
mov dword [ebp - 0xc], ebx
jmp 0x1001682e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf4], 0x85f70ad6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x1001681d
xor esi, esi
mov dword [ebp - 0x14], 2
inc esi
cmp dword [ebp - 0x14], ebx
jl 0x100168a5
mov dword [ebp - 0xc], ebx
jmp 0x10016852
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2c], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x10016848
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016876
push ebx
push 0x1cc0
push ebx
push 0x8f2
push 0x211c
call dword [sym.imp.GDI32.dll_ExtCreatePen]
mov dword [ebp - 0x2c], 2
cmp dword [ebp - 0x2c], ebx
jl 0x100168a0
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016891
push ebx
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0xf4]
dec dword [ebp - 0x2c]
jns 0x10016882
dec dword [ebp - 0x14]
jns 0x10016843
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x100168bf
push ebx
push 0x140d
push 0x1381
push ebx
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], 0x3afc3718
mov dword [ebp - 4], ebx
jmp 0x100168dc
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x38], 0x83c7730f
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x100168ce
mov dword [ebp - 4], ebx
jmp 0x100168f7
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], 0xaccbad86
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x100168e6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016922
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
mov dword [ebp - 4], ebx
jmp 0x10016938
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x134], 0xc64a6847
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10016927
mov eax, 0xa5d6c05b
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0x7d7c118
mov dword [ebp - 0xc], ebx
jmp 0x1001696c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc4], 0x5a9c4c8d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1001695b
mov dword [ebp - 0x5c], ebx
jmp 0x100169a9
mov dword [ebp - 0xc], 2
mov dword [ebp - 0xc], ebx
jmp 0x1001699a
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016997
push 0x17a8
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x10016982
mov dword [ebp - 0x10], 7
dec dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xffffffe4
jg 0x10016976
mov dword [ebp - 4], ebx
jmp 0x100169c5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc8], 0x274bf90e
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x100169b4
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x1c], 0x7e7308f4
push 3
mov dword [ebp - 0x18], 6
pop ecx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0xffffffe5
je 0x10016a4b
mov dword [ebp - 0x14], esi
xor edx, edx
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
sub eax, 0x7a3a11c1
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], 0x9f5954e3
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe5
jne 0x100169eb
push 3
pop ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jl 0x10016c56
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x1c], 0x5c68ec0a
mov dword [ebp - 0x1c], 0x13
jmp 0x10016a83
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jle 0x10016a6d
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016a98
push ebx
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov dword [ebp - 0x74], 0x362d
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], 0xf11b
push 2
mov dword [ebp - 0x10], ebx
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], ebx
jmp 0x10016ac8
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xe8], 0xfffffff6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10016ab7
cmp dword [ebp - 0x1c], ebx
mov byte [ebp - 5], bl
je 0x10016ae4
cmp byte [ebp - 5], bl
je 0x10016b04
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x10016b04
cmp byte [ebp - 5], bl
je 0x10016af0
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016b04
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_EndDoc]
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x10016bcd
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], 0xdc53
mov dword [ebp - 0x10], 0x3d6c1dfe
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10016bb8
mov dword [ebp - 0x10], 7
mov dword [ebp - 0xc], ebx
jmp 0x10016b4d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x40], 0xbbd18838
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x10016b3f
cmp dword [ebp - 0xe8], ebx
jne 0x10016b65
cmp dword [ebp - 0x1c], 0x3dc9
mov eax, ebx
jg 0x10016b67
mov eax, edx
mov dword [ebp - 0x10], eax
xor ecx, ecx
imul eax, dword [ebp - 0x10], 0xfff7
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x10]
cmp eax, 0xfc9b
setne cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x40], ebx
je 0x10016ba8
mov ecx, ebx
cmp dword [ebp - 4], ebx
je 0x10016baa
mov ecx, edx
xor eax, eax
cmp ecx, 0xfffffff8
setl al
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jle 0x10016b33
mov eax, dword [ebp - 4]
dec dword [ebp - 0x1c]
jns 0x10016b13
push 0x420c
push ebx
lea edx, [ebp - 0x74]
mov ecx, 0x2a49
call fcn.10016f90
pop ecx
pop ecx
push 3
mov dword [ebp - 4], ebx
pop ecx
jmp 0x10016bfb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x14c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10016bea
mov dword [ebp - 4], ebx
jmp 0x10016c13
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x80], 0x1897a4a
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10016c05
mov dword [ebp - 0x7c], 2
cmp dword [ebp - 0x7c], ebx
jl 0x10016c3e
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016c39
push ebx
call edi
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
dec dword [ebp - 0x7c]
jns 0x10016c24
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x134], ebx
jne 0x10016c53
dec dword [ebp - 0x14]
jns 0x10016a5d
xor esi, esi
inc esi
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], 0xfffffff7
mov dword [ebp - 0x14], 4
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 0x14], 0xc37f20ba
mov dword [ebp - 0x20], ebx
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016c92
push 0x156b
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jle 0x10016de2
mov edi, 0xfff8
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 4], 0xb25631c
mov dword [ebp - 0x10], 0x78317d23
mov dword [ebp - 4], ebx
jmp 0x10016ccb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10016cbd
mov dword [ebp - 4], ebx
jmp 0x10016ce3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd0], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x10016cd6
mov dword [ebp - 4], ebx
jmp 0x10016cff
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x8c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10016cee
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x10016d84
mov eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x4c]
jle 0x10016d24
mov eax, ebx
cmp dword [ebp - 0x4c], ebx
je 0x10016d26
mov eax, esi
mov dword [ebp - 0x4c], eax
xor edx, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x14], 0xbca
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setge dl
mov dword [ebp - 4], edx
cmp dword [ebp - 4], ebx
je 0x10016d4f
mov eax, esi
cmp dword [ebp - 0x48], ebx
jne 0x10016d51
mov eax, ebx
mov dword [ebp - 4], eax
mov ecx, esi
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x84]
dec dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
cmp ecx, eax
mov eax, dword [ebp - 0x8c]
setge dl
sub edx, eax
mov dword [ebp - 0x20], edx
je 0x10016dca
mov eax, esi
cmp dword [ebp - 0x10], ebx
jne 0x10016dcc
mov eax, ebx
dec eax
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jg 0x10016ca3
mov byte [ebp - 0x25], bl
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xfffffffa
jmp 0x10016ecc
mov dword [ebp - 0xc], 0xcddd1d8f
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0xc3d069f4
mov dword [ebp - 0x14], ebx
jmp 0x10016e1f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd4], 0x9acd4098
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10016e0e
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
setg dl
mov dword [ebp - 0x20], edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp dword [ebp - 0x20], edx
setl bl
add eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, ebx
setg cl
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x10016ec9
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x10016e91
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10016e8c
push ebx
push 0x23fc
push ebx
call dword [sym.imp.GDI32.dll_GetRegionData]
dec dword [ebp - 4]
jns 0x10016e77
mov dword [ebp - 4], ebx
jmp 0x10016ebf
mov dword [ebp - 0x14], ebx
jmp 0x10016eac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c], 0x928d9ba5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10016e9b
mov dword [ebp - 0x108], 0xb89bdd77
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x10016e96
dec dword [ebp - 0x1c]
jns 0x10016e6f
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff8
jl 0x10016df4
lea eax, [ebp - 0x25]
push ebx
push eax
call fcn.100190a7
mov eax, dword [ebp - 0x6c]
pop ecx
pop ecx
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [ebp - 0x70]
mov esi, edx
mov edi, eax
call fcn.10015faf
add eax, esi
add eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret