Function at 0x1002d85
Capabilities:
Get cpu information
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
or dword [ebp - 0x410], 0xffffffff
or dword [ebp - 0x414], 0xffffffff
push ebx
push esi
push edi
push 0x17
pop ecx
mov esi, 0x1001450
lea edi, [ebp - 0x408]
rep movsd dword es:[edi], dword [esi]
push 0x1a0
mov dword [ebp - 0x41c], eax
xor ebx, ebx
lea eax, [ebp - 0x3aa]
push ebx
push eax
movsw word es:[edi], word [esi]
call sub.msvcrt.dll_memset
push 0x200
lea eax, [ebp - 0x204]
push ebx
push eax
mov dword [ebp - 0x418], 0xff
mov dword [ebp - 0x208], ebx
call sub.msvcrt.dll_memset
add esp, 0x18
push 0x1fc
mov dword [ebp - 0x40c], ebx
call fcn.0100cbb3
mov dword [ebp - 0x40c], eax
cmp eax, ebx
jne 0x1002e3f
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x20001
call dword [sym.imp.msvcrt.dll___iob_func]
add eax, 0x40
push eax
call fcn.0100e6fc
mov edi, 0xffff
jmp 0x1002ffb
push eax
call fcn.0100cc5c
mov ecx, dword [ebp - 0x40c]
cmp eax, ebx
je 0x1002e55
mov byte [ecx], bl
inc ecx
dec eax
jne 0x1002e4f
push ebx
push dword [ebp - 0x41c]
call fcn.0100c9b2
test eax, eax
lea eax, [ebp - 0x208]
je 0x1002e91
mov esi, 0x102
push esi
push 0x1001444
push eax
call fcn.0100d2e9
push esi
push dword [ebp - 0x41c]
lea eax, [ebp - 0x208]
push eax
call fcn.0100d32c
jmp 0x1002ea2
push 0x102
push dword [ebp - 0x41c]
push eax
call fcn.0100d2e9
lea eax, [ebp - 0x414]
push eax
push 0x80000002
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
test eax, eax
jne 0x1002e35
lea eax, [ebp - 0x410]
push eax
push 0x20019
push ebx
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x414]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1002e35
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x418]
push eax
push dword [ebp - 0x40c]
mov edi, 0x100142c
push ebx
push ebx
push edi
push dword [ebp - 0x410]
call esi
cmp eax, 0xea
jne 0x1002f68
lea eax, [ebp - 0x40c]
push eax
call fcn.0100cf4f
push dword [ebp - 0x418]
call fcn.0100cbb3
mov dword [ebp - 0x40c], eax
cmp eax, ebx
je 0x1002e19
push eax
call fcn.0100cc5c
mov ecx, dword [ebp - 0x40c]
cmp eax, ebx
je 0x1002f50
mov byte [ecx], bl
inc ecx
dec eax
jne 0x1002f4a
lea eax, [ebp - 0x418]
push eax
push dword [ebp - 0x40c]
push ebx
push ebx
push edi
push dword [ebp - 0x410]
call esi
cmp eax, ebx
jne 0x1002e35
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ebp - 0x418]
push ebx
xor eax, eax
push 0x1001424
mov word [ecx + edx*2 - 2], ax
push dword [ebp - 0x40c]
call fcn.0100d279
test eax, eax
je 0x1002f9c
xor edi, edi
jmp 0x1002ffb
push ebx
push 0x1001418
push dword [ebp - 0x40c]
call fcn.0100d279
test eax, eax
je 0x1002fb5
push 6
jmp 0x1002ffa
push ebx
push 0x100140c
push dword [ebp - 0x40c]
call fcn.0100d279
test eax, eax
jne 0x1002ff8
push ebx
push 0x1001400
push dword [ebp - 0x40c]
call fcn.0100d279
test eax, eax
jne 0x1002ff8
push ebx
push 0x10013f0
push dword [ebp - 0x40c]
call fcn.0100d279
test eax, eax
je 0x1002e35
push 9
pop edi
cmp dword [ebp - 0x410], 0xffffffff
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x1003012
push dword [ebp - 0x410]
call esi
cmp dword [ebp - 0x414], 0xffffffff
je 0x1003023
push dword [ebp - 0x414]
call esi
cmp dword [ebp - 0x40c], ebx
je 0x1003037
lea eax, [ebp - 0x40c]
push eax
call fcn.0100cf4f
cmp edi, 0xffff
jne 0x1003059
push 0x80a
call fcn.0100e6e4
push eax
call dword [sym.imp.msvcrt.dll___iob_func]
add eax, 0x40
push eax
call fcn.0100d36f
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100c0ef
leave
ret 4