Function at 0x4079a5
Capabilities:
Get hostname
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b8
push esi
push edi
xor edi, edi
cmp dword [ebp + 8], edi
je 0x407be2
cmp dword [ebp + 0xc], edi
je 0x407be2
push dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call esi
test eax, eax
jle 0x407be2
and byte [ebp - 0x11c], 0
push ebx
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x11b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push 0x9a8f4c3d
lea eax, [ebp - 0x11c]
push str._08X
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [ebp + 8]
call esi
movzx esi, ax
push esi
lea eax, [ebp - 0x11c]
push str._04X
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0xc]
call ebx
push dword [ebp + 8]
push dword [ebp + 0xc]
call ebx
lea ecx, [ebp - 0x1b8]
call fcn.00407cd2
push 0x10
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.0040bf70
add esp, 0xc
lea ecx, [ebp - 0x1b8]
push esi
push dword [ebp + 8]
call fcn.00407d3d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x1b8]
push eax
call fcn.00407de2
xor esi, esi
lea eax, [ebp - 0x10]
mov cl, byte [eax]
add eax, 5
mov byte [ebp + esi - 0x10], cl
inc esi
cmp esi, 4
jl 0x407a8d
movzx eax, byte [ebp - 0xd]
push eax
movzx eax, byte [ebp - 0xe]
push eax
movzx eax, byte [ebp - 0xf]
push eax
movzx eax, byte [ebp - 0x10]
push eax
lea eax, [ebp - 0x11c]
push str._02X_02X_02X_02X
push eax
call edi
add esp, 0x18
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0xc]
call ebx
and dword [ebp - 0x18], 0
mov esi, 0x104
push esi
lea eax, [ebp - 0x11c]
push 0
push eax
mov dword [ebp - 0x14], esi
call fcn.0040bf70
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], esi
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x18]
push eax
push str.SystemBiosVersion
push str.HARDWAREDESCRIPTIONSystem
push 0x80000002
call dword [sym.imp.SHLWAPI.dll_SHGetValueA]
push 0x10
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.0040bf70
add esp, 0xc
lea eax, [ebp - 0x11c]
lea ecx, [ebp - 0x1b8]
push esi
push eax
call fcn.00407d3d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x1b8]
push eax
call fcn.00407de2
push esi
xor esi, esi
lea eax, [ebp - 0x11c]
push esi
push eax
call fcn.0040bf70
add esp, 0xc
lea eax, [ebp - 0x10]
mov cl, byte [eax]
add eax, 4
mov byte [ebp + esi - 0x10], cl
inc esi
cmp esi, 4
jl 0x407b6b
movzx eax, byte [ebp - 0xd]
push eax
movzx eax, byte [ebp - 0xe]
push eax
movzx eax, byte [ebp - 0xf]
push eax
movzx eax, byte [ebp - 0x10]
push eax
lea eax, [ebp - 0x11c]
push str._02X_02X_02X_02X
push eax
call edi
add esp, 0x18
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0xc]
call ebx
movzx eax, byte [ebp - 0xb]
movzx ecx, byte [ebp - 0xc]
xor eax, ecx
push eax
lea eax, [ebp - 0x11c]
push str._02X
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0xc]
call ebx
push 1
lea ecx, [ebp - 0x1b8]
pop edi
call fcn.00407d00
pop ebx
mov eax, edi
pop edi
pop esi
leave
ret