Function at 0x100728c3
Capabilities:
Get cpu information
Get memory capacity
Query or enumerate registry value

Disassembly:
push 0x12c
mov eax, 0x100b1658
call fcn.100a4edc
mov ebx, ecx
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x138]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x138]
call fcn.1003009e
mov edi, dword [ebx + 0x3c]
push dword [ebp - 0x120]
push 0x10
mov eax, dword [edi]
push dword [edi + 4]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x100cf608]
mov ecx, edi
call esi
test eax, eax
jne 0x10072926
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10072928
movzx esi, si
or esi, 0x80070000
jmp 0x10072928
xor esi, esi
push 0x10019ff8
lea ecx, [ebp - 0xe8]
call fcn.1006f372
and dword [ebp - 4], 0
lea eax, [ebp - 0xe8]
push eax
push esi
mov ecx, ebx
call fcn.10072085
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov edi, dword [ebx + 0x3c]
push dword [ebp - 0x124]
push 0xf
mov eax, dword [edi]
push dword [edi + 4]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x100cf608]
mov ecx, edi
call esi
test eax, eax
jne 0x10072997
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10072999
movzx esi, si
or esi, 0x80070000
jmp 0x10072999
xor esi, esi
push 0x1001a040
lea ecx, [ebp - 0xec]
call fcn.1006f372
lea eax, [ebp - 0xec]
mov dword [ebp - 4], 1
push eax
push esi
mov ecx, ebx
call fcn.10072085
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xec]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
and dword [ebp - 0xdc], 0
lea eax, [ebp - 0xe0]
push eax
push 0x20019
push 0
push 0x1001a088
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 4
pop edi
test eax, eax
jne 0x10072b11
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], edi
push eax
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0x1001a144
push dword [ebp - 0xe0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test esi, esi
je 0x10072a8a
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], edi
push eax
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0x1001a1ac
push dword [ebp - 0xe0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test esi, esi
je 0x10072a8a
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], edi
push eax
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0x1001a1b8
push dword [ebp - 0xe0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
push dword [ebp - 0xe0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x10072b11
mov edi, dword [ebx + 0x3c]
push dword [ebp - 0xdc]
push 0x13
mov eax, dword [edi]
push dword [edi + 4]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x100cf608]
mov ecx, edi
call esi
test eax, eax
jne 0x10072ad4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10072ad6
movzx esi, si
or esi, 0x80070000
jmp 0x10072ad6
xor esi, esi
push 0x1001a1c4
lea ecx, [ebp - 0xf0]
call fcn.1006f372
lea eax, [ebp - 0xf0]
mov dword [ebp - 4], 2
push eax
push esi
mov ecx, ebx
call fcn.10072085
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
push 4
pop edi
push 0x40
pop esi
push esi
lea eax, [ebp - 0xd4]
push 0
push eax
call fcn.100935b0
add esp, 0xc
lea eax, [ebp - 0xd4]
mov ecx, esi
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x10072b2e
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], esi
push eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x10072be4
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebx + 0x3c]
shrd ecx, eax, 0x14
shr eax, 0x14
mov eax, dword [edi]
push ecx
push 3
push dword [edi + 4]
mov esi, dword [eax + 0x14]
mov dword [ebp - 0xe4], ecx
mov ecx, esi
call dword [0x100cf608]
mov ecx, edi
call esi
test eax, eax
jne 0x10072ba2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10072ba4
movzx esi, si
or esi, 0x80070000
jmp 0x10072ba4
xor esi, esi
push 0x1001a1fc
lea ecx, [ebp - 0xf4]
call fcn.1006f372
lea eax, [ebp - 0xf4]
mov dword [ebp - 4], 3
push eax
push esi
mov ecx, ebx
call fcn.10072085
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf4]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov esi, dword [ebp - 0xe4]
jmp 0x10072c1e
push 0x1001a260
lea ecx, [ebp - 0xe4]
call fcn.1006f372
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], edi
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, ebx
call fcn.10072085
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe4]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov ecx, ebx
call fcn.1007740a
cmp byte [ebx + 0x80], 0
mov edi, eax
je 0x10072d1f
cmp dword [0x100c5840], 5
jbe 0x10072d1f
push 0x2000
push 0
call fcn.1002d015
test al, al
je 0x10072d1f
mov eax, dword [ebx + 0x84]
xor edx, edx
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x100]
push 8
pop ecx
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x104]
push 4
pop ebx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x94]
mov edx, 0x1002c1d6
push eax
push ecx
push ecx
push ecx
call fcn.1002cf75
call fcn.100a4e86
ret