Function at 0x140001640
Capabilities:
Get memory capacity
Get system information on windows

Disassembly:
sub rsp, 0x38
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemTimes]
test eax, eax
jne 0x1400010a3
lea rcx, str._ERROR__unable_to_get_system_times__1__n
call fcn.140001010
mov eax, 0xffffffff
add rsp, 0x38
ret
mov qword [rsp + 0x30], rbx
mov ecx, 0x3e8
mov ebx, dword [rsp + 0x50]
mov qword [rsp + 0x28], rsi
mov esi, dword [rsp + 0x40]
mov qword [rsp + 0x20], rdi
mov edi, dword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemTimes]
test eax, eax
jne 0x140001107
lea rcx, str._ERROR__to_get_system_times__2__n
call fcn.140001010
mov rsi, qword [rsp + 0x28]
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x38
ret
sub ebx, dword [rsp + 0x50]
lea rcx, str.total_cpu__d_n
mov eax, dword [rsp + 0x40]
sub eax, edi
sub eax, esi
add eax, dword [rsp + 0x48]
add ebx, eax
movd xmm0, eax
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [0x14001b958]
divsd xmm1, xmm0
cvttsd2si ebx, xmm1
mov edx, ebx
call fcn.140001010
mov rsi, qword [rsp + 0x28]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x38
ret
sub rsp, 0x78
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rcx, qword [rsp + 0x28]
xorps xmm1, xmm1
test rcx, rcx
js 0x14000119a
cvtsi2sd xmm1, rcx
jmp 0x1400011af
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
mulsd xmm1, qword [0x14001b950]
lea rcx, str.total_memory__.1lf_n
movq rdx, xmm1
call fcn.140001010
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400017e0
add rsp, 0x78
ret
sub rsp, 0x78
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rcx, qword [rsp + 0x28]
mov r8d, 0x64
sub r8d, dword [rsp + 0x24]
movabs rax, 0x47ae147ae147ae15
mul rcx
xorps xmm1, xmm1
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
imul r8, rcx
test r8, r8
js 0x140001243
cvtsi2sd xmm1, r8
jmp 0x140001259
mov rax, r8
and r8d, 1
shr rax, 1
or rax, r8
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
mulsd xmm1, qword [0x14001b950]
lea rcx, str.free_memory__.1lf_n
movq rdx, xmm1
call fcn.140001010
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400017e0
add rsp, 0x78
ret
sub rsp, 0x78
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rcx, qword [rsp + 0x28]
movabs rax, 0x47ae147ae147ae15
mul rcx
xorps xmm1, xmm1
mov eax, dword [rsp + 0x24]
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
imul rcx, rax
test rcx, rcx
js 0x1400012ec
cvtsi2sd xmm1, rcx
jmp 0x140001301
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
mulsd xmm1, qword [0x14001b950]
lea rcx, str.used_memory__.1lf_n
movq rdx, xmm1
call fcn.140001010
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400017e0
add rsp, 0x78
ret
mov r11, rsp
sub rsp, 0xd8
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x24], xmm0
movups xmmword [rsp + 0x34], xmm0
movups xmmword [rsp + 0x44], xmm0
movups xmmword [rsp + 0x54], xmm0
movups xmmword [rsp + 0x64], xmm0
movups xmmword [rsp + 0x74], xmm0
movups xmmword [r11 - 0x54], xmm0
movups xmmword [r11 - 0x44], xmm0
movups xmmword [r11 - 0x34], xmm0
mov dword [rsp + 0x20], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edx, dword [rsp + 0x24]
lea rcx, str.major_version__u_n
call fcn.140001010
xor eax, eax
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400017e0
add rsp, 0xd8
ret
mov r11, rsp
sub rsp, 0xd8
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x24], xmm0
movups xmmword [rsp + 0x34], xmm0
movups xmmword [rsp + 0x44], xmm0
movups xmmword [rsp + 0x54], xmm0
movups xmmword [rsp + 0x64], xmm0
movups xmmword [rsp + 0x74], xmm0
movups xmmword [r11 - 0x54], xmm0
movups xmmword [r11 - 0x44], xmm0
movups xmmword [r11 - 0x34], xmm0
mov dword [rsp + 0x20], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edx, dword [rsp + 0x28]
lea rcx, str.minor_version__u_n
call fcn.140001010
xor eax, eax
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400017e0
add rsp, 0xd8
ret
mov r11, rsp
sub rsp, 0xd8
mov rax, qword [0x14001e008]
xor rax, rsp
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x24], xmm0
xor eax, eax
movups xmmword [rsp + 0x34], xmm0
movups xmmword [rsp + 0x44], xmm0
movups xmmword [rsp + 0x54], xmm0
movups xmmword [rsp + 0x64], xmm0
movups xmmword [rsp + 0x74], xmm0
mov qword [r11 - 0x24], rax
movups xmmword [r11 - 0x54], xmm0
movups xmmword [r11 - 0x44], xmm0
movups xmmword [r11 - 0x34], xmm0
mov dword [rsp + 0x20], 0x9c
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
movzx edx, byte [rsp + 0xba]
lea rcx, str.product_type__u_n
call fcn.140001010
xor eax, eax
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400017e0
add rsp, 0xd8
ret
push rbx
sub rsp, 0x50
cmp ecx, 2
jne 0x1400017b9
mov rbx, qword [rdx + 8]
lea rdx, str.total_cpu
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x140001670
add rsp, 0x50
pop rbx
jmp 0x140001070
lea rdx, str.processors
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x1400016a6
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x40]
lea rcx, str.processors__d_n
call fcn.140001010
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.total_memory
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x1400016c3
add rsp, 0x50
pop rbx
jmp 0x140001160
lea rdx, str.free_memory
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x1400016e0
add rsp, 0x50
pop rbx
jmp 0x1400011e0
lea rdx, str.used_memory
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x1400016fd
add rsp, 0x50
pop rbx
jmp 0x140001290
lea rdx, str.major_version
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x14000171a
add rsp, 0x50
pop rbx
jmp 0x140001330
lea rdx, str.minor_version
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x140001737
add rsp, 0x50
pop rbx
jmp 0x1400013c0
lea rdx, str.product_type
mov rcx, rbx
call fcn.140012b60
test eax, eax
jne 0x140001754
add rsp, 0x50
pop rbx
jmp 0x140001450
xor ecx, ecx
lea rdx, [0x14001b940]
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400017b9
cmp rcx, 4
jne 0x140001760
call 0x140001070
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x40]
lea rcx, str.processors__d_n
call fcn.140001010
call 0x140001160
call 0x1400011e0
call 0x140001290
call 0x140001330
call 0x1400013c0
call 0x140001450
xor eax, eax
add rsp, 0x50
pop rbx
ret
call fcn.1400014f0
mov eax, 1
add rsp, 0x50
pop rbx
ret