Function at 0x10005540
Capabilities:
Check os version
Get cpu information
Get session user name
Query or enumerate registry value

Disassembly:
mov eax, 0x49bc
call fcn.1000e3d0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x49e8]
push edi
xor ebx, ebx
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x72]
mov word [esp + 0x70], bx
mov ebp, dword [sym.imp.MSVCRT.dll_wcslen]
cmp esi, ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], 0x7c
stosw word es:[edi], ax
je 0x100055a8
push esi
call ebp
add esp, 4
cmp eax, 0x20
jb 0x1000558d
mov eax, 0x1f
add eax, eax
lea edi, [esp + 0x70]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [esp + eax + 0x70], bx
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x41ce]
mov word [esp + 0x41cc], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x39ce]
mov word [esp + 0x39cc], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x41cc]
mov dword [esp + 0x24], 0x400
push eax
call fcn.100054a0
add esp, 4
lea ecx, [esp + 0x24]
lea edx, [esp + 0x39cc]
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x31ce]
mov word [esp + 0x31cc], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x39cc]
lea ecx, [esp + 0x41cc]
push eax
lea edx, [esp + 0x74]
push ecx
push edx
lea eax, [esp + 0x31d8]
push str._s__s__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea ecx, [esp + 0x31cc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, dword [esp + 0x49d0]
lea edx, [esp + 0x31cc]
shl eax, 1
push eax
push edx
mov ecx, esi
call fcn.10001db0
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, esi
call fcn.10001db0
mov ecx, 0x47
xor eax, eax
lea edi, [esp + 0xb0]
mov word [esp + 0x1cc], bx
rep stosd dword es:[edi], eax
mov ecx, 0x1ff
lea edi, [esp + 0x1ce]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1cc]
push str.Windo
push ecx
mov dword [esp + 0xb8], 0x11c
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea edx, [esp + 0x1cc]
push 0x10014748
push edx
call edi
lea eax, [esp + 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x1000580b
cmp dword [esp + 0xb4], 4
ja 0x1000570b
lea ecx, [esp + 0x1cc]
push 0x10014740
push ecx
call edi
cmp dword [esp + 0xb4], 5
jne 0x10005764
cmp dword [esp + 0xb8], 1
jne 0x10005738
lea edx, [esp + 0x1cc]
push 0x10014738
push edx
call edi
cmp dword [esp + 0xb4], 5
jne 0x10005764
cmp dword [esp + 0xb8], 2
jne 0x100057f3
lea eax, [esp + 0x1cc]
push str.Serve
push eax
call edi
lea ecx, [esp + 0x1cc]
push str.r_2003
push ecx
call edi
cmp dword [esp + 0xb4], 6
jne 0x100057e9
mov eax, dword [esp + 0xb8]
cmp eax, ebx
jne 0x100057a1
cmp byte [esp + 0x1ca], 1
jne 0x10005792
lea edx, [esp + 0x1cc]
push str.Vista
push edx
jmp 0x100057e7
lea eax, [esp + 0x1cc]
push 0x100146f8
push eax
jmp 0x100057e7
cmp eax, 1
jne 0x100057c6
cmp byte [esp + 0x1ca], 1
jne 0x100057b7
push 0x100146f4
jmp 0x100057df
lea edx, [esp + 0x1cc]
push 0x100146d4
push edx
jmp 0x100057e7
cmp eax, 2
jne 0x100057da
lea eax, [esp + 0x1cc]
push 0x100146d0
push eax
jmp 0x100057e7
push 0x100146c8
lea ecx, [esp + 0x1d0]
push ecx
call edi
cmp dword [esp + 0xb4], 5
jne 0x1000580b
cmp dword [esp + 0xb8], ebx
jne 0x1000580b
lea edx, [esp + 0x1cc]
push str.2000
push edx
call edi
call fcn.10005c40
test eax, eax
je 0x10005823
lea eax, [esp + 0x1cc]
push 0x100146b4
push eax
jmp 0x10005830
lea ecx, [esp + 0x1cc]
push 0x100146ac
push ecx
call edi
mov eax, dword [esp + 0x1c6]
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x1c4]
and eax, 0xffff
push edx
and ecx, 0xffff
push eax
lea edx, [esp + 0x1d4]
push ecx
push edx
lea eax, [esp + 0x1dc]
push str._s_Service_Pack__d._d__Build__d__n
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x1e4]
push ecx
call ebp
add esp, 0x1c
lea edx, [esp + 0x1cc]
shl eax, 1
push eax
push edx
mov ecx, esi
call fcn.10001db0
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, esi
call fcn.10001db0
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x11ce]
mov word [esp + 0x11cc], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x50]
mov dword [esp + 0x4c], ebx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.10005310
add esp, 4
lea edx, [esp + 0x14]
mov eax, 4
mov dword [esp + 0x18], ebx
push edx
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push closesocket
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x1000592a
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x2c]
push ecx
push edx
push ebx
push str.MHz
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0x11d4]
push str._dx_dmhz
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0x11dc]
push edx
call ebp
add esp, 0x14
mov ecx, esi
shl eax, 1
push eax
lea eax, [esp + 0x11d0]
push eax
call fcn.10001db0
lea ecx, [esp + 0x10]
push 2
push ecx
mov ecx, esi
call fcn.10001db0
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x30]
lea edx, [esp + 0x2c]
rep stosd dword es:[edi], eax
push edx
mov dword [esp + 0x30], 0x20
call fcn.10005390
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x29d2]
mov word [esp + 0x29d0], bx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x38]
add esp, 4
stosw word es:[edi], ax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x29cc]
shr eax, 0x14
shr ecx, 0x14
push eax
push ecx
push str.Total:_dMB_Avail:_dMB
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x29dc]
push eax
call ebp
add esp, 0x14
lea ecx, [esp + 0x29cc]
shl eax, 1
push eax
push ecx
mov ecx, esi
call fcn.10001db0
lea edx, [esp + 0x10]
push 2
push edx
mov ecx, esi
call fcn.10001db0
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x19ce]
mov word [esp + 0x19cc], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x19cc]
push eax
call fcn.10005420
lea ecx, [esp + 0x19d0]
push ecx
call ebp
add esp, 8
lea edx, [esp + 0x19cc]
shl eax, 1
push eax
push edx
mov ecx, esi
call fcn.10001db0
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, esi
call fcn.10001db0
mov edx, dword [esp + 0x49d4]
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x9ce]
mov word [esp + 0x9cc], bx
push 0x400
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x9d0]
stosw word es:[edi], ax
mov eax, dword [edx + 4]
push ecx
push 0xffffffffffffffff
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [esp + 0x9cc]
push ecx
call ebp
add esp, 4
lea edx, [esp + 0x9cc]
shl eax, 1
push eax
push edx
mov ecx, esi
call fcn.10001db0
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, esi
call fcn.10001db0
lea ecx, [esp + 0x9cc]
push ecx
call ebp
add esp, 4
lea edx, [esp + 0x9cc]
shl eax, 1
push eax
push edx
mov ecx, esi
call fcn.10001db0
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, esi
call fcn.10001db0
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x21ce]
mov word [esp + 0x21cc], bx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x49d8]
lea edx, [esp + 0x21cc]
push ecx
push 0x100145b4
push edx
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x21d8]
push eax
call ebp
add esp, 0x10
lea ecx, [esp + 0x21cc]
shl eax, 1
push eax
push ecx
mov ecx, esi
call fcn.10001db0
lea edx, [esp + 0x10]
push 2
push edx
mov ecx, esi
call fcn.10001db0
call fcn.10005c30
neg eax
sbb eax, eax
push 2
neg eax
add eax, 0x30
mov ecx, esi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
call fcn.10001db0
lea ecx, [esp + 0x10]
push 2
push ecx
mov ecx, esi
call fcn.10001db0
mov edi, dword [esp + 0x49e4]
push edi
call ebp
add esp, 4
mov ecx, esi
shl eax, 1
push eax
push edi
call fcn.10001db0
lea edx, [esp + 0x10]
push 2
push edx
mov ecx, esi
call fcn.10001db0
mov edi, dword [esp + 0x49e0]
push edi
call ebp
add esp, 4
mov ecx, esi
shl eax, 1
push eax
push edi
call fcn.10001db0
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, esi
call fcn.10001db0
mov edi, dword [esp + 0x49dc]
push edi
call ebp
add esp, 4
mov ecx, esi
shl eax, 1
push eax
push edi
call fcn.10001db0
lea ecx, [esp + 0x10]
push 2
push ecx
mov ecx, esi
call fcn.10001db0
mov edi, dword [esp + 0x49e8]
push edi
call ebp
add esp, 4
mov ecx, esi
shl eax, 1
push eax
push edi
call fcn.10001db0
lea edx, [esp + 0x10]
push 2
push edx
mov ecx, esi
call fcn.10001db0
mov ecx, esi
call fcn.10002110
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49bc
ret