Function at 0x409d00
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.00453c50
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.00453c50
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.004542a0
mov ecx, eax
call fcn.0045467f
movapd xmm1, xmm0
movsd xmm0, qword [0x4864c0]
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.004542a0
mov ecx, eax
call fcn.0045467f
movsd xmm1, qword [0x4864c0]
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.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409e97
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6fc]
lea eax, [ebp - 0x3ec]
push str.___dwMemoryLoad:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ed2
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6f8]
lea eax, [ebp - 0x3ec]
push str.___dwTotalPhys:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409f10
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6f4]
lea eax, [ebp - 0x3ec]
push str.___dwAvailPhys:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x409f50
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409f50
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6f0]
lea eax, [ebp - 0x3ec]
push str.___dwTotalPageFile:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x409f90
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409f90
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6ec]
lea eax, [ebp - 0x3ec]
push str.___dwAvailPageFile:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x409fd0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409fd0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6e8]
lea eax, [ebp - 0x3ec]
push str.___dwTotalVirtual:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40a010
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a010
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x6e4]
lea eax, [ebp - 0x3ec]
push str.___dwAvailVirtual:__u_r_n_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40a050
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a050
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
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.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a093
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
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.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a0d8
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
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.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a120
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
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.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a163
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0x3ec]
push str.___Computer_Name:__s_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a1a0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x790]
lea eax, [ebp - 0x3ec]
push str.___dwMajorVersion:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40a1e0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a1e0
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
push dword [ebp - 0x78c]
lea eax, [ebp - 0x3ec]
push str.___dwMinorVersion:__u_r_n
push eax
call fcn.00453b2a
lea ecx, [ebp - 0x3ec]
add esp, 0xc
lea edx, [ecx + 1]
jmp 0x40a220
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a220
sub ecx, edx
lea eax, [ebp - 0x3ec]
push ecx
push eax
mov ecx, ebx
call fcn.00423ff0
lea eax, [ebp - 0x780]
push eax
lea eax, [ebp - 0x3ec]
push str.___szCSDVersion:__s_r_n_r_n
push eax
call fcn.00453b2a
lea edx, [ebp - 0x3ec]
add esp, 0xc
lea ecx, [edx + 1]
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x40a260
sub edx, ecx
lea eax, [ebp - 0x3ec]
push edx
push eax
mov ecx, ebx
call fcn.00423ff0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452f44
mov esp, ebp
pop ebp
ret