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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7bc
mov eax, dword [0x4a9d30]
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.00453df0
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.00453df0
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.00454440
mov ecx, eax
call fcn.0045481f
movapd xmm1, xmm0
movsd xmm0, qword [0x486548]
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.00454440
mov ecx, eax
call fcn.0045481f
movsd xmm1, qword [0x486548]
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.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a997
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6fc]
lea eax, [ebp - 0x3ec]
push str.___dwMemoryLoad:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a9d2
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6f8]
lea eax, [ebp - 0x3ec]
push str.___dwTotalPhys:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa10
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6f4]
lea eax, [ebp - 0x3ec]
push str.___dwAvailPhys:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40aa50
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa50
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6f0]
lea eax, [ebp - 0x3ec]
push str.___dwTotalPageFile:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40aa90
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa90
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6ec]
lea eax, [ebp - 0x3ec]
push str.___dwAvailPageFile:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40aad0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aad0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6e8]
lea eax, [ebp - 0x3ec]
push str.___dwTotalVirtual:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ab10
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab10
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x6e4]
lea eax, [ebp - 0x3ec]
push str.___dwAvailVirtual:__u_r_n_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ab50
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab50
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
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.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ab93
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
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.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40abd8
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
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.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac20
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
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.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac63
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0x3ec]
push str.___Computer_Name:__s_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aca0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x790]
lea eax, [ebp - 0x3ec]
push str.___dwMajorVersion:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ace0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ace0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
push dword [ebp - 0x78c]
lea eax, [ebp - 0x3ec]
push str.___dwMinorVersion:__u_r_n
push eax
call fcn.00453cca
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40ad20
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad20
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00424e10
lea eax, [ebp - 0x780]
push eax
lea eax, [ebp - 0x3ec]
push str.___szCSDVersion:__s_r_n_r_n
push eax
call fcn.00453cca
lea edx, [ebp - 0x3ec]
add esp, 0xc
lea ecx, [edx + 1]
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x40ad60
sub edx, ecx
lea eax, [ebp - 0x3ec]
push edx
push eax
mov ecx, ebx
call fcn.00424e10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004530e4
mov esp, ebp
pop ebp
ret