Function at 0x10019eb0
Capabilities:
Accept command line arguments
Get cpu information
Get memory capacity
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x10070996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x420
mov eax, dword [0x10085048]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], eax
xor ebp, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x438], ebp
mov eax, 0x10086578
mov byte [esp + 0x438], 1
test eax, eax
je 0x10019eff
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebp, eax
push ebp
lea ecx, [esp + 0x18]
call fcn.10001d60
test eax, eax
je 0x10019f35
mov edi, dword [esp + 0x14]
mov ecx, ebp
mov edx, ecx
mov esi, 0x10086578
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov dword [eax - 8], ebp
mov ecx, dword [esp + 0x14]
mov byte [ecx + ebp], 0
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [esp + 0x32]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2e]
and eax, 0xffff
and ecx, 0xffff
push eax
mov eax, dword [esp + 0x2e]
push ecx
mov ecx, dword [esp + 0x30]
and edx, 0xffff
and eax, 0xffff
push edx
and ecx, 0xffff
push eax
push ecx
lea edx, [esp + 0x24]
push 0x10086560
push edx
call fcn.10003bb0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
lea ecx, [esp + 0x14]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.1001a600
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x80]
mov ebp, dword [sym.imp.SHLWAPI.dll_SHGetValueA]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18]
lea edx, [esp + 0x80]
push ecx
lea eax, [esp + 0x20]
push edx
push eax
push str.ProcessorNameString
mov ebx, 0x104
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push reloc.WS2_32.dll_bind
mov dword [esp + 0x34], 1
mov dword [esp + 0x30], ebx
call ebp
lea ecx, [esp + 0x80]
lea edx, [esp + 0x10]
push ecx
push str.CPU:__s_r_n
push edx
call fcn.10003bb0
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x14]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.1001a600
mov ecx, 0x6a
xor eax, eax
lea edi, [esp + 0x288]
push str.EnumDisplayDevicesA
rep stosd dword es:[edi], eax
push str.USER32.dll
mov dword [esp + 0x290], 0x1a8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x1001a0ac
xor edi, edi
lea ecx, [esp + 0x288]
push edi
push ecx
push edi
push edi
call esi
test eax, eax
je 0x1001a0ac
mov bl, 4
test byte [esp + 0x32c], bl
jne 0x1001a07b
lea edx, [esp + 0x288]
inc edi
push 0
push edx
push edi
push 0
call esi
test eax, eax
jne 0x1001a05c
jmp 0x1001a0a7
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x10]
push eax
push 0x100864e4
push ecx
call fcn.10003bb0
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x14]
mov edx, dword [eax - 8]
push eax
push edx
call fcn.1001a600
mov ebx, 0x104
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x20
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x10]
shr eax, 0x14
push eax
push 0x100864d8
push ecx
mov dword [esp + 0x4c], eax
call fcn.10003bb0
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x14]
mov edx, dword [eax - 8]
push eax
push edx
call fcn.1001a600
mov eax, dword [esp + 0x44]
shr eax, 0x14
mov dword [esp + 0x44], eax
push eax
lea eax, [esp + 0x14]
push 0x100864c8
push eax
call fcn.10003bb0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.1001a600
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x80]
lea edx, [esp + 0x18]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x80]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
push str.Version
mov esi, 1
push str.SOFTWAREMicrosoftDirectX
push reloc.WS2_32.dll_bind
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
call ebp
lea edx, [esp + 0x80]
push str.4.09.00.0904
push edx
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x1001a1b2
mov edi, str.9.0C_4.09.00.0904_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x80]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 1
lea ecx, [esp + 0x80]
lea edx, [esp + 0x10]
push ecx
push str.DirectX:__s_r_n
push edx
call fcn.10003bb0
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x14]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.1001a600
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x80]
lea edx, [esp + 0x80]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18]
lea eax, [esp + 0x1c]
push ecx
push edx
push eax
push 0x1008646c
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.WS2_32.dll_bind
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
call ebp
lea ecx, [esp + 0x80]
lea edx, [esp + 0x10]
push ecx
push str.:__s
push edx
call fcn.10003bb0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x8c]
add esp, 0xc
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
push str.CSDVersion
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.WS2_32.dll_bind
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
call ebp
lea eax, [esp + 0x80]
test eax, eax
jne 0x1001a281
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x1001a291
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x80]
push ecx
call esi
lea edx, [esp + 0x80]
lea ecx, [esp + 0x10]
push edx
push eax
call fcn.1001a600
mov eax, 0x10086420
test eax, eax
je 0x1001a2b3
push 0x10086420
call esi
push 0x10086420
push eax
lea ecx, [esp + 0x18]
call fcn.1001a600
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax - 8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1001a600
mov edx, str.MEE:
test edx, edx
jne 0x1001a2e1
xor ebp, ebp
jmp 0x1001a2ea
push str.MEE:
call esi
mov ebp, eax
push ebp
lea ecx, [esp + 0x14]
call fcn.10001d60
test eax, eax
je 0x1001a326
mov edi, dword [esp + 0x10]
mov ecx, ebp
mov eax, ecx
mov esi, str.MEE:
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ecx - 8], ebp
mov edx, dword [esp + 0x10]
mov byte [edx + ebp], 0
lea eax, [esp + 0x20]
xor edi, edi
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call fcn.10019db0
add esp, 4
test eax, eax
je 0x1001a3c6
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov ecx, edx
mov eax, edx
sar ecx, 0x10
mov esi, ecx
mov ecx, edx
sar eax, 0x1f
sar ecx, 0x1f
mov edi, edx
mov ecx, 0x10
mov eax, ebp
and esi, 0xff
and edi, 0xff
call fcn.1006e830
and ebp, 0xff
and eax, 0xff
push ebp
push eax
push edi
push esi
push str._d._d._d._d
lea edx, [esp + 0x6c]
push 0x28
push edx
call dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [esp + 0x74]
add esp, 0x1c
test eax, eax
je 0x1001a3af
lea ecx, [esp + 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [esp + 0x58]
lea ecx, [esp + 0x10]
push edx
push eax
call fcn.1001a600
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x1001a3e5
mov eax, 0x10086410
test eax, eax
je 0x1001a3d6
push 0x10086410
call esi
push 0x10086410
push eax
lea ecx, [esp + 0x18]
call fcn.1001a600
mov ecx, 0x10086420
test ecx, ecx
jne 0x1001a3f2
xor eax, eax
jmp 0x1001a3f9
push 0x10086420
call esi
push 0x10086420
push eax
lea ecx, [esp + 0x18]
call fcn.1001a600
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.1001a600
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x80]
push ebx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x84]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov cl, byte [0x1009bcc4]
xor eax, eax
mov byte [esp + 0x184], cl
mov ecx, 0x40
lea edi, [esp + 0x185]
lea edx, [esp + 0x184]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
lea eax, [esp + 0x84]
push edx
push eax
call fcn.10018d60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea ecx, [esp + 0x184]
push eax
push ecx
lea edx, [esp + 0x18]
push 0x100863fc
push edx
call fcn.10003bb0
mov eax, dword [esp + 0x20]
add esp, 0x10
lea ecx, [esp + 0x14]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.1001a600
lea ecx, [esp + 0x14]
push 0x2d
push ecx
call fcn.10019be0
mov edx, 0x100863e8
add esp, 8
test edx, edx
jne 0x1001a4c3
xor ebp, ebp
jmp 0x1001a4cc
push 0x100863e8
call esi
mov ebp, eax
mov edi, dword [esp + 0x10]
cmp dword [edi - 0xc], 1
jg 0x1001a4db
cmp ebp, dword [edi - 4]
jle 0x1001a4f6
lea ecx, [esp + 0x10]
call fcn.10001d20
push ebp
lea ecx, [esp + 0x14]
call fcn.10001dc0
test eax, eax
je 0x1001a51a
mov edi, dword [esp + 0x10]
mov ecx, ebp
mov esi, 0x100863e8
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov dword [ecx - 8], ebp
mov edx, dword [esp + 0x10]
mov byte [edx + ebp], 0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.1001a600
lea ecx, [esp + 0x14]
push 0x2d
push ecx
call fcn.10019be0
mov edx, dword [esp + 0x1c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 8
mov byte [esp + 0x438], 0
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x440]
not ecx
sub edi, ecx
mov ebx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx - 8]
mov edi, dword [0x1008504c]
lea esi, [ecx + eax]
mov eax, dword [esp + 0x10]
lea ecx, [eax - 0xc]
cmp ecx, edi
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
je 0x1001a5a8
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x1001a5a4
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.1003c010
add esp, 4
mov edx, dword [esp + 0x14]
mov ecx, dword [0x1008504c]
lea eax, [edx - 0xc]
cmp eax, ecx
mov dword [esp + 0x438], 0xffffffff
je 0x1001a5da
add edx, 0xfffffff4
push edx
call edi
test eax, eax
jg 0x1001a5da
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff4
push ecx
call fcn.1003c010
add esp, 4
mov ecx, dword [esp + 0x430]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x42c
ret 4