Function at 0x414590
Capabilities:
Get hostname
Get local ipv4 addresses
Get memory capacity
Get session user name
Get socket information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1f8
mov eax, dword [0x5d1124]
xor eax, esp
mov dword [esp + 0x1f4], eax
push esi
push edi
mov esi, ecx
mov dword [esp + 0x28], edx
push 0x110
mov dword [esp + 0x30], esi
call fcn.004159e4
add esp, 4
mov edi, eax
push 0x110
push 0
push edi
call fcn.00552b90
add esp, 0xc
mov byte [edi], 0xc8
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x10
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
push eax
lea eax, [esp + 0x34]
push eax
push dword [esi + 0x38]
call dword [sym.imp.WS2_32.dll_getsockname]
mov eax, dword [esp + 0x34]
push str.BITS
mov dword [edi + 4], eax
lea eax, [esp + 0xf4]
push str.SYSTEMCurrentControlSetServices_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea esi, [edi + 0x6c]
push 0x32
push 0
push esi
call fcn.00552b90
add esp, 8
lea edx, [esp + 0xf4]
push 0x32
push ecx
push esi
push 1
push str.Remark
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00414070
add esp, 0x18
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x414660
push 0x32
push esi
call dword [sym.imp.WS2_32.dll_gethostname]
push 0x32
lea esi, [edi + 0x9e]
push 0
push esi
call fcn.00552b90
add esp, 8
lea edx, [esp + 0xf4]
push 0x32
push ecx
push esi
push 1
push str.Group
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00414070
add esp, 0x18
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x4146a9
push 0x5b4534
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x32
lea esi, [edi + 8]
push 0
push esi
call fcn.00552b90
add esp, 8
mov edx, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push 0x32
push ecx
push esi
push 1
push str.ProcessorNameString
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00414070
add esp, 0x18
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x4146ed
push 0x5b4570
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x32
lea esi, [edi + 0x3a]
push 0
push esi
call fcn.00552b90
add esp, 8
mov edx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push 0x32
push ecx
push esi
push 1
push 0x5b4580
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00414070
add esp, 0x18
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x414731
push 0x5b45bc
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x64
lea eax, [esp + 0x8c]
push 0
push eax
call fcn.00552b90
add esp, 0xc
mov dword [esp + 0x20], 0x12c
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea ecx, [esp + 0x88]
lea edx, [edi + 0xd0]
mov eax, ecx
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x414771
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
shrd ecx, eax, 0x14
push str.kernel32.dll
shr eax, 0x14
mov dword [edi + 0x10c], ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.IsWow64Process
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0
call esi
push 0x5b45e0
push dword [esp + 0x18]
mov dword [esp + 0x2c], eax
call esi
mov esi, dword [esp + 0x24]
test esi, esi
je 0x4147ec
lea ecx, [esp + 0x18]
push ecx
call eax
push eax
call esi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4147fb
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0x18], 0
mov ecx, dword [esp + 0x2c]
setne al
push 0x110
mov byte [edi + 0x108], al
mov eax, dword [esp + 0x2c]
push edi
mov dword [edi + 0x104], eax
call fcn.00408c40
push 0x110
push edi
mov esi, eax
call fcn.0054f779
mov ecx, dword [esp + 0x204]
add esp, 8
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.0054f768
mov esp, ebp
pop ebp
ret