Function at 0x14005e150
Capabilities:
Get memory capacity

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x14018d030]
xor rax, rsp
mov qword [rbp + 0x30], rax
xor r12d, r12d
mov dword [rsp + 0x40], r12d
lea rcx, [rsp + 0x48]
call fcn.1400349c0
mov rbx, rax
lea rcx, [0x1401956c0]
cmp rcx, rax
je 0x14005e1d0
call fcn.140006c50
movups xmm0, xmmword [rbx]
movaps xmmword [0x1401956c0], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [0x1401956d0], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r12b
nop dword [rax]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005e210
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005e20b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005e20b
call qword [0x140138140]
int3
call fcn.14012f24c
call qword [0x1401376c0]
mov dword [0x140195668], eax
lea rcx, [rsp + 0x70]
call fcn.140068750
mov rdi, rax
mov r14, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14005e237
mov rdi, qword [rax]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, r14d
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd r15, eax
mov rdx, r15
mov rcx, qword [rsp + 0x58]
cmp r15, rcx
ja 0x14005e2ab
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], rdx
mov byte [rcx + r15], 0
jmp 0x14005e300
mov rsi, rdx
sub rsi, rcx
mov r8, qword [rsp + 0x60]
mov rax, r8
sub rax, rcx
cmp rsi, rax
ja 0x14005e2eb
mov qword [rsp + 0x58], rdx
lea rbx, [rsp + 0x48]
cmp r8, 0x10
cmovae rbx, qword [rsp + 0x48]
add rbx, rcx
mov r8, rsi
xor edx, edx
mov rcx, rbx
call fcn.140130762
mov byte [rbx + rsi], 0
jmp 0x14005e300
mov byte [rsp + 0x20], 0
mov r9, rsi
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140008500
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, [0x1401957a0]
call fcn.140006c50
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [0x1401957a0], xmm0
movups xmm1, xmmword [rsp + 0x58]
movaps xmmword [0x1401957b0], xmm1
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14005e3b3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005e3ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005e3ae
call qword [0x140138140]
int3
call fcn.14012f24c
mov qword [rsp + 0x40], r12
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetPhysicallyInstalledSystemMemory]
test eax, eax
je 0x14005e3d7
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14005e3d7
shr rax, 0x14
jmp 0x14005e438
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov dword [rsp + 0x70], 0x40
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rcx, qword [rsp + 0x78]
xorps xmm0, xmm0
test rcx, rcx
js 0x14005e412
cvtsi2sd xmm0, rcx
jmp 0x14005e427
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
mulsd xmm0, qword [0x14016ade8]
call fcn.1401308a9
cvttsd2si eax, xmm0
mov dword [0x14019566c], eax
lea rcx, [rsp + 0x70]
call fcn.1400346f0
mov rbx, rax
lea rcx, [0x140195880]
cmp rcx, rax
je 0x14005e480
call fcn.140006c50
movups xmm0, xmmword [rbx]
movaps xmmword [0x140195880], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [0x140195890], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14005e4bf
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005e4ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005e4ba
call qword [0x140138140]
int3
call fcn.14012f24c
lea rdx, [0x140195700]
lea rcx, [rsp + 0x40]
call fcn.1400345e0
movsxd rax, dword [rsp + 0x40]
lea rdx, str.Unknown
mov rdx, qword [rdx + rax*8]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14005e4f0
lea rcx, [0x1401956e0]
call fcn.140006d70
lea rcx, [rbp - 0x50]
call fcn.140035fe0
nop
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x70]
call fcn.140006810
lea rcx, [0x140195740]
call fcn.140006c50
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [0x140195740], xmm0
movups xmm1, xmmword [rbp - 0x80]
movaps xmmword [0x140195750], xmm1
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
call fcn.140006810
lea rcx, [0x140195720]
call fcn.140006c50
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [0x140195720], xmm0
movups xmm1, xmmword [rbp - 0x80]
movaps xmmword [0x140195730], xmm1
lea rcx, [rsp + 0x70]
call fcn.14001d4c0
mov rbx, rax
lea rcx, [0x140195760]
cmp rcx, rax
je 0x14005e5b4
call fcn.140006c50
movups xmm0, xmmword [rbx]
movaps xmmword [0x140195760], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [0x140195770], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rsp + 0x70]
call fcn.140006c50
nop
lea rcx, [rbp + 0x10]
call fcn.140006c50
lea rcx, [rbp - 0x10]
call fcn.140006c50
lea rcx, [rbp - 0x30]
call fcn.140006c50
lea rcx, [rbp - 0x50]
call fcn.140006c50
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.14012f1f0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret