Function at 0x10016192
Capabilities:
Accept command line arguments
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
xor ebx, ebx
mov dword [ebp - 0xc], 0x31713b91
push esi
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], 0xfffffff0
push edi
mov edi, ecx
jle 0x10016215
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x10], ebx
jmp 0x100161c8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100161ba
mov dword [ebp - 0x34], ebx
jmp 0x100161f4
cmp byte [ebp - 1], bl
je 0x100161e2
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100161f1
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffffc
mov byte [ebp - 1], bl
je 0x100161d3
cmp byte [ebp - 1], bl
je 0x1001620c
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
jg 0x100161b5
mov dword [ebp - 0xc], 0xa122
xor esi, esi
push 3
pop ecx
mov dword [ebp - 0x4c], ecx
inc esi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x10], ebx
jmp 0x1001624b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2c], 0x1d018875
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001623d
cmp dword [ebp - 0xc], ebx
jne 0x1001626d
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0xc], 0x6173
jle 0x10016269
cmp dword [ebp - 0x48], ebx
jne 0x1001626d
mov edx, ebx
jmp 0x1001626f
mov edx, esi
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
sub eax, 0x2e97
neg eax
sbb eax, eax
add eax, 0x8e47
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], ebx
jmp 0x100162ad
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100162aa
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x1001629b
cmp byte [edi], bl
je 0x100162bd
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 8], 0xfffffffa
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x10016422
mov dword [ebp - 0x18], 0x2ee6d058
mov dword [ebp - 0xc], 0x8b15e3
mov dword [ebp - 0x10], 0xe712c519
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ebx
jmp 0x100162fa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x20], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100162f0
mov eax, dword [ebp - 8]
mov edx, ebx
cmp dword [ebp - 8], ebx
je 0x1001630c
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
test ecx, ecx
mov dword [ebp - 0x1c], ecx
sete dl
xor ecx, ecx
add edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x18]
mov edx, esi
setle cl
sub edx, eax
mov eax, dword [ebp - 8]
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, 0xb8b78acc
setg cl
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
jne 0x10016375
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp eax, esi
setle cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
je 0x1001637a
cmp dword [ebp - 8], ebx
je 0x1001637a
cmp dword [ebp - 0x14], ebx
jne 0x10016381
mov eax, ebx
cmp dword [ebp - 0xc], ebx
je 0x10016383
mov eax, esi
cmp eax, esi
sbb eax, eax
neg eax
imul eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x100163bf
mov dword [ebp - 0xc], 0x14
jmp 0x100163b7
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100163b4
push 0x1fa5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe6
je 0x1001639e
jmp 0x1001641f
mov dword [ebp - 0x18], 0x8a3d3555
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100163d5
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 8], eax
je 0x100163e3
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ebx, ebx
cmp edx, 0x615a0349
setge bl
xor ecx, ecx
cmp ebx, eax
setle cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
xor ebx, ebx
mov dword [ebp - 0xc], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff1
jle 0x100162d3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret