Function at 0x40a850
Capabilities:
Get disk size
Get hostname
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7bc
mov eax, dword [0x4a7ea0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x700]
push esi
xorps xmm0, xmm0
push edi
movdqu xmmword [ebp - 0x700], xmm0
push eax
movdqu xmmword [ebp - 0x6f0], xmm0
mov dword [ebp - 0x700], 0x20
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push 0x94
lea eax, [ebp - 0x794]
push 0
push eax
call fcn.00452db0
add esp, 0xc
mov dword [ebp - 0x794], 0x94
lea eax, [ebp - 0x794]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push 0x100
lea eax, [ebp - 0x4ec]
push 0
push eax
call fcn.00452db0
add esp, 0xc
lea eax, [ebp - 0x4ec]
push 0xff
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ax, word [ebp - 0x4ec]
mov word [ebp - 0x798], ax
mov al, byte [ebp - 0x4ea]
mov byte [ebp - 0x796], al
lea eax, [ebp - 0x7a0]
push eax
lea eax, [ebp - 0x7a8]
mov byte [ebp - 0x795], 0
push eax
lea eax, [ebp - 0x7ac]
push eax
lea eax, [ebp - 0x7a4]
push eax
lea eax, [ebp - 0x798]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
mov eax, dword [ebp - 0x7a4]
mul dword [ebp - 0x7ac]
mov esi, edx
mov edi, eax
push esi
push edi
push 0
push dword [ebp - 0x7a8]
call fcn.00453400
mov ecx, eax
call fcn.004537df
movapd xmm1, xmm0
movsd xmm0, qword [0x485548]
mulsd xmm1, xmm0
push esi
push edi
push 0
push dword [ebp - 0x7a0]
mulsd xmm1, xmm0
mulsd xmm1, xmm0
movsd qword [ebp - 0x7b4], xmm1
call fcn.00453400
mov ecx, eax
call fcn.004537df
movsd xmm1, qword [0x485548]
lea eax, [ebp - 0x79c]
mulsd xmm0, xmm1
push eax
mov dword [ebp - 0x79c], 0x1f4
lea eax, [ebp - 0x6e0]
mulsd xmm0, xmm1
mulsd xmm0, xmm1
movsd qword [ebp - 0x7bc], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [ebp - 0x3ec]
push str.MEMORY_INFORMATION:_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a9e7
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6fc]
lea eax, [ebp - 0x3ec]
push str.___dwMemoryLoad:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa22
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6f8]
lea eax, [ebp - 0x3ec]
push str.___dwTotalPhys:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa60
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6f4]
lea eax, [ebp - 0x3ec]
push str.___dwAvailPhys:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40aaa0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aaa0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6f0]
lea eax, [ebp - 0x3ec]
push str.___dwTotalPageFile:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40aae0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aae0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6ec]
lea eax, [ebp - 0x3ec]
push str.___dwAvailPageFile:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ab20
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab20
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6e8]
lea eax, [ebp - 0x3ec]
push str.___dwTotalVirtual:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ab60
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab60
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x6e4]
lea eax, [ebp - 0x3ec]
push str.___dwAvailVirtual:__u_r_n_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40aba0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aba0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
lea eax, [ebp - 0x4ec]
push eax
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x3ec]
push str.DISK_INFORMATION___s___s:_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40abe3
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
movsd xmm0, qword [ebp - 0x7b4]
lea eax, [ebp - 0x3ec]
sub esp, 8
movsd qword [esp], xmm0
push str.___Free_Space:__f_GB_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac28
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
movsd xmm0, qword [ebp - 0x7bc]
lea eax, [ebp - 0x3ec]
sub esp, 8
movsd qword [esp], xmm0
push str.___Total_Space:__f_GB_r_n_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac70
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
lea eax, [ebp - 0x4ec]
push eax
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x3ec]
push str.WINDOWS_INFORMATION:_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40acb3
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0x3ec]
push str.___Computer_Name:__s_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40acf0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x790]
lea eax, [ebp - 0x3ec]
push str.___dwMajorVersion:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ad30
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad30
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
push dword [ebp - 0x78c]
lea eax, [ebp - 0x3ec]
push str.___dwMinorVersion:__u_r_n
push eax
call fcn.00452c8a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ad70
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad70
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00425070
lea eax, [ebp - 0x780]
push eax
lea eax, [ebp - 0x3ec]
push str.___szCSDVersion:__s_r_n_r_n
push eax
call fcn.00452c8a
lea edx, [ebp - 0x3ec]
add esp, 0xc
lea ecx, [edx + 1]
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x40adb0
sub edx, ecx
lea eax, [ebp - 0x3ec]
push edx
push eax
mov ecx, ebx
call fcn.00425070
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004520a4
mov esp, ebp
pop ebp
ret