Function at 0x140078b70
Capabilities:
Get memory capacity

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rsp + 0x70], rax
movzx r14d, r9w
mov rbp, r8
mov rdi, rcx
mov qword [rsp + 0x28], rcx
mov rsi, qword [rsp + 0x110]
xor r15d, r15d
mov byte [rcx], r15b
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], r15
mov dword [rcx + 0x18], r15d
mov byte [rcx + 0x1c], r15b
mov qword [rcx + 0x20], r15
mov qword [rcx + 0x28], r15
mov dword [rcx + 0x30], r15d
mov byte [rcx + 0x34], r15b
movabs r12, 0xc4ceb9fe1a85ec53
mov qword [rcx + 0x40], r12
lea rax, [rcx + 0x60]
mov qword [rcx + 0x48], rax
mov qword [rcx + 0x50], rax
mov qword [rcx + 0x58], r15
mov qword [rax], r15
mov qword [rcx + 0x68], r15
mov qword [rcx + 0x70], 0x20
mov qword [rcx + 0x80], r12
lea rax, [rcx + 0xa0]
mov qword [rcx + 0x88], rax
mov qword [rcx + 0x90], rax
mov qword [rcx + 0x98], r15
mov qword [rax], r15
mov qword [rcx + 0xa8], r15
mov qword [rcx + 0xb0], 0x20
mov qword [rcx + 0xc0], r12
lea rax, [rcx + 0xe0]
mov qword [rcx + 0xc8], rax
mov qword [rcx + 0xd0], rax
mov qword [rcx + 0xd8], r15
mov qword [rax], r15
mov qword [rcx + 0xe8], r15
mov qword [rcx + 0xf0], 0x20
mov qword [rcx + 0x100], r12
lea rax, [rcx + 0x120]
mov qword [rcx + 0x108], rax
mov qword [rcx + 0x110], rax
mov qword [rcx + 0x118], r15
mov qword [rax], r15
mov qword [rcx + 0x128], r15
mov qword [rcx + 0x130], 0x20
xor eax, eax
mov qword [rcx + 0x138], rax
mov word [rcx + 0x140], ax
mov byte [rcx + 0x142], al
mov qword [rcx + 0x143], rax
mov word [rcx + 0x14b], ax
mov byte [rcx + 0x14d], al
cmp byte [rsi + 8], al
jne 0x140078cdb
mov r9, 0xffffffffffffffff
jmp 0x140078d12
mov dword [rsp + 0x30], 0x40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
movsxd r9, dword [rsi + 0xc]
imul r9, qword [rsp + 0x38]
movabs rax, 0x47ae147ae147ae15
mul r9
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 6
movzx r8d, r14w
mov rdx, rbp
lea rcx, [rdi + 0x150]
call fcn.1401771e0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdi + 0x2740], xmm0
mov qword [rdi + 0x2750], r15
mov qword [rdi + 0x2758], 0xf
mov byte [rdi + 0x2740], 0
vmovups xmmword [rdi + 0x2760], xmm0
mov qword [rdi + 0x2770], r15
mov qword [rdi + 0x2778], 0xf
mov byte [rdi + 0x2760], 0
mov byte [rdi + 0x2780], 0
mov dword [rdi + 0x2784], 1
mov word [rdi + 0x2788], 0x101
mov byte [rdi + 0x278a], 1
mov dword [rsp + 0x30], 0x40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x2790], rax
mov qword [rdi + 0x2798], r15
mov qword [rdi + 0x27a0], r15
mov qword [rdi + 0x27a8], r15
mov dword [rdi + 0x27b0], 0x1010101
mov dword [rdi + 0x27b4], 0x1000001
mov dword [rdi + 0x27b8], 0x1010101
mov dword [rdi + 0x27bc], 0x4010001
mov dword [rdi + 0x27c0], 0x3c
mov dword [rdi + 0x27c4], 0x64
lea rcx, [rdi + 0x27c8]
movzx r9d, byte [rsi]
lea r8, [rdi + 0x150]
mov rdx, rdi
call fcn.14005f760
nop
mov qword [rdi + 0x2978], r15
mov word [rdi + 0x2988], r15w
mov byte [rdi + 0x298a], 0
mov qword [rdi + 0x298c], 0xffffffffffffffff
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups xmmword [rdi + 0x2994], xmm0
mov word [rdi + 0x29a4], ax
mov qword [rdi + 0x29c0], r15
mov byte [rdi + 0x29c8], al
mov dword [rdi + 0x29d0], 0xffffffff
mov byte [rdi + 0x29d4], al
mov qword [rdi + 0x29d8], r15
mov byte [rdi + 0x29e0], al
mov qword [rdi + 0x29e8], r15
mov dword [rdi + 0x2a00], r15d
mov qword [rdi + 0x2a08], 0xffffffffffffffff
mov qword [rdi + 0x2a10], r15
mov qword [rdi + 0x2a18], 0xffffffffffffffff
mov qword [rdi + 0x2a20], r15
mov dword [rdi + 0x2a28], r15d
mov qword [rdi + 0x2a30], r15
mov dword [rdi + 0x2a38], 0xffffffff
mov qword [rdi + 0x2a40], r15
mov qword [rdi + 0x2a48], r15
mov byte [rdi + 0x2a50], al
mov dword [rdi + 0x2a58], 0xffffffff
mov byte [rdi + 0x2a5c], 1
lea rbx, [rdi + 0x2a60]
mov qword [rsp + 0x20], rbx
mov qword [rbx + 0x100], r15
mov qword [rbx + 0x108], r15
mov byte [rbx], al
mov dword [rbx + 0x110], r15d
mov r8d, 0xff
lea rdx, [0x1413a1907]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + 0xff], 0
mov rcx, rbx
call fcn.1401e25a0
nop
mov byte [rdi + 0x2b78], 0
mov dword [rdi + 0x2b7c], r15d
mov qword [rdi + 0x2b80], r15
mov byte [rdi + 0x2b88], 0
xor eax, eax
mov qword [rdi + 0x2b89], rax
mov dword [rdi + 0x2b91], eax
mov qword [rdi + 0x2b98], r15
mov byte [rdi + 0x2ba0], al
mov qword [rdi + 0x2ba8], r15
mov byte [rdi + 0x2bb0], al
mov qword [rdi + 0x2bb8], r15
mov word [rdi + 0x2bc0], 0x101
lea rbx, [rdi + 0x2bc8]
mov qword [rsp + 0x20], rbx
mov qword [rbx + 0x100], r15
mov qword [rbx + 0x108], r15
mov byte [rbx], al
mov dword [rbx + 0x110], r15d
mov r8d, 0xff
lea rdx, [0x1413a1907]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + 0xff], 0
mov rcx, rbx
call fcn.1401e25a0
nop
lea rbx, [rdi + 0x2ce0]
mov qword [rsp + 0x20], rbx
mov qword [rbx + 0x100], r15
mov qword [rbx + 0x108], r15
mov byte [rbx], 0
mov dword [rbx + 0x110], r15d
mov r8d, 0xff
lea rdx, [0x1413a1907]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + 0xff], 0
mov rcx, rbx
call fcn.1401e25a0
nop
lea rbx, [rdi + 0x2df8]
mov qword [rsp + 0x20], rbx
mov qword [rbx + 0x100], r15
mov qword [rbx + 0x108], r15
mov byte [rbx], 0
mov dword [rbx + 0x110], r15d
mov r8d, 0xff
lea rdx, [0x1413a1907]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + 0xff], 0
mov rcx, rbx
call fcn.1401e25a0
nop
mov qword [rdi + 0x2f18], r12
lea rax, [rdi + 0x2f38]
mov qword [rdi + 0x2f20], rax
mov qword [rdi + 0x2f28], rax
mov qword [rdi + 0x2f30], r15
mov qword [rax], r15
mov qword [rdi + 0x2f40], r15
mov qword [rdi + 0x2f48], 0x20
mov byte [rdi + 0x2f50], 0
mov byte [rdi + 0x2f68], 0
mov qword [rdi + 0x2f80], r15
mov byte [rdi + 0x2f88], 0
mov qword [rdi + 0x2f90], r15
mov qword [rdi + 0x2f98], r15
mov qword [rdi + 0x2fa0], r15
mov dword [rdi + 0x2fa8], 0
mov qword [rdi + 0x2fac], 0
mov byte [rdi + 0x2fb4], 1
mov dword [rdi + 0x2fb8], r15d
mov dword [rdi + 0x2fbc], 2
mov word [rdi + 0x2fc0], 1
mov dword [rdi + 0x2fc4], r15d
mov dword [rdi + 0x2fc8], 0x101
mov dword [rdi + 0x2fcc], 0x10000
mov dword [rdi + 0x2fd0], 0x1010101
mov qword [rdi + 0x2fd8], r15
mov qword [rdi + 0x2fe0], r15
mov word [rdi + 0x2fe8], 0x101
mov byte [rdi + 0x2fea], 0
mov byte [rdi + 0x2ff0], 0
mov byte [rdi + 0x3020], 0
mov byte [rdi + 0x302c], 0
mov byte [rdi + 0x3038], 0
mov byte [rdi + 0x3048], 0
mov byte [rdi + 0x3058], 0
mov byte [rdi + 0x3064], 0
mov byte [rdi + 0x3070], 0
mov byte [rdi + 0x307c], 0
xor eax, eax
mov qword [rdi + 0x3088], rax
mov word [rdi + 0x3090], ax
mov byte [rdi + 0x3092], al
mov qword [rdi + 0x3093], rax
mov word [rdi + 0x309b], ax
mov byte [rdi + 0x309d], al
mov qword [rdi + 0x30a0], r15
mov dword [rdi + 0x30a8], r15d
mov qword [rdi + 0x30b0], r15
mov qword [rdi + 0x30b8], r15
mov qword [rdi + 0x30c0], r15
mov qword [rdi + 0x30c8], r15
mov qword [rdi + 0x30d0], r15
mov qword [rdi + 0x30d8], r15
mov qword [rdi + 0x30e0], r15
mov byte [rdi + 0x30f0], al
mov rax, qword [rsp + 0xe8]
mov qword [rdi + 0x30f8], rax
mov rax, qword [rsp + 0xf0]
mov qword [rdi + 0x3100], rax
mov rax, qword [rsp + 0xe0]
mov qword [rdi + 0x3108], rax
lea rax, [0x140012380]
mov qword [rdi + 0x3118], rax
mov byte [rdi + 0x3120], 0
lea rax, [0x140012940]
mov qword [rdi + 0x3128], rax
lea rax, [0x1400123f0]
mov qword [rdi + 0x3130], rax
mov dword [rdi + 0x3138], r15d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdi + 0x3140], xmm0
mov qword [rdi + 0x3150], r15
mov qword [rdi + 0x3158], 0xf
mov byte [rdi + 0x3140], 0
mov word [rdi + 0x3160], 0x101
mov qword [rdi + 0x3164], r15
mov dword [rdi + 0x316c], r15d
vmovups xmmword [rdi + 0x3170], xmm0
mov qword [rdi + 0x3180], r15
mov qword [rdi + 0x3188], r15
mov qword [rdi + 0x3190], r15
mov qword [rdi + 0x3198], r15
mov qword [rdi + 0x31a0], r15
mov qword [rdi + 0x31a8], r15
mov qword [rdi + 0x31b0], r15
mov qword [rdi + 0x31b8], r15
mov qword [rdi + 0x31c0], r15
vmovups xmmword [rdi + 0x31c8], xmm0
mov qword [rdi + 0x31d8], r15
mov qword [rdi + 0x31e0], 0xf
mov byte [rdi + 0x31c8], 0
vmovups xmmword [rdi + 0x31f0], xmm0
mov qword [rdi + 0x3200], r15
mov qword [rdi + 0x3208], 0xf
mov byte [rdi + 0x31f0], 0
mov byte [rdi + 0x3210], 0
mov word [rdi + 0x3218], 0
mov byte [rdi + 0x321a], 1
mov qword [rdi + 0x3220], r15
mov qword [rdi + 0x3230], r15
mov qword [rdi + 0x3238], r15
mov qword [rdi + 0x3240], r15
mov word [rdi + 0x3248], 0x101
mov byte [rdi + 0x3260], 0
mov byte [rdi + 0x3268], 0
mov qword [rdi + 0x3278], r12
lea rax, [rdi + 0x3298]
mov qword [rdi + 0x3280], rax
mov qword [rdi + 0x3288], rax
mov qword [rdi + 0x3290], r15
mov qword [rax], r15
mov qword [rdi + 0x32a0], r15
mov qword [rdi + 0x32a8], 0x20
mov qword [rdi + 0x32b8], r12
lea rax, [rdi + 0x32d8]
mov qword [rdi + 0x32c0], rax
mov qword [rdi + 0x32c8], rax
mov qword [rdi + 0x32d0], r15
mov qword [rax], r15
mov qword [rdi + 0x32e0], r15
mov qword [rdi + 0x32e8], 0x20
mov qword [rdi + 0x32f8], r12
lea rax, [rdi + 0x3318]
mov qword [rdi + 0x3300], rax
mov qword [rdi + 0x3308], rax
mov qword [rdi + 0x3310], r15
mov qword [rax], r15
mov qword [rdi + 0x3320], r15
mov qword [rdi + 0x3328], 0x20
lea rax, [fcn.140012440]
mov qword [rdi + 0x3330], rax
mov dword [rdi + 0x3338], r15d
lea rcx, [rdi + 0x3340]
call fcn.1400796b0
nop
lea rcx, [rdi + 0x38e8]
call fcn.140079810
nop
mov byte [rdi + 0x3e48], 0
lea rcx, [rdi + 0x3e49]
xor edx, edx
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memset
mov qword [rdi + 0x4250], r15
mov qword [rdi + 0x4258], r15
mov byte [rdi + 0x4260], 0
mov qword [rdi + 0x4268], r15
mov qword [rdi + 0x4270], r15
mov qword [rdi + 0x4278], r15
mov qword [rdi + 0x4280], r15
mov qword [rdi + 0x4288], r15
mov dword [rdi + 0x4290], 0
mov byte [rdi + 0x4294], 0
mov qword [rdi + 0x4298], r15
mov qword [rdi + 0x42a0], r15
mov qword [rdi + 0x42a8], r15
mov qword [rdi + 0x42b0], r15
mov qword [rdi + 0x42b8], r15
mov qword [rdi + 0x42c0], r15
mov qword [rdi + 0x42c8], r15
mov word [rdi + 0x42d0], 0x100
mov qword [rdi + 0x42d8], 0xffffffffffffffff
mov qword [rdi + 0x42e0], r15
mov word [rdi + 0x42e8], 1
mov dword [rdi + 0x42ec], 0xffffffff
mov dword [rdi + 0x42f0], r15d
mov dword [rdi + 0x42f4], 1
mov qword [rdi + 0x42f8], r15
mov qword [rdi + 0x4300], r15
mov qword [rdi + 0x4308], r15
mov qword [rdi + 0x4310], r15
mov qword [rdi + 0x4318], r15
mov qword [rdi + 0x4320], r15
mov qword [rdi + 0x4328], r15
mov qword [rdi + 0x4330], r15
mov qword [rdi + 0x4338], r15
mov dword [rdi + 0x4340], r15d
mov qword [rdi + 0x4344], 0x3f800000
mov dword [rdi + 0x434c], 0xffffffff
mov word [rdi + 0x4350], 1
mov byte [rdi + 0x4352], 0
mov word [rdi + 0x4358], 0x100
mov qword [rdi + 0x4368], r12
lea rax, [rdi + 0x4388]
mov qword [rdi + 0x4370], rax
mov qword [rdi + 0x4378], rax
mov qword [rdi + 0x4380], r15
mov qword [rax], r15
mov qword [rdi + 0x4390], r15
mov qword [rdi + 0x4398], 0x20
mov qword [rdi + 0x43a0], r15
mov qword [rdi + 0x43b0], r15
mov byte [rdi + 0x43bc], 0
mov dword [rdi + 0x43c0], r15d
mov word [rdi + 0x43c4], 0x101
mov word [rdi + 0x43c8], 0
mov dword [rdi + 0x43d8], 0
mov word [rdi + 0x43dc], 0
mov rax, qword [rsp + 0x118]
mov qword [rdi + 0x43e0], rax
movzx eax, byte [rsi + 0x10]
mov byte [rdi + 0x43e8], al
mov ecx, 0x448
call fcn.1403f4d70
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.14002eb90
nop
mov rbx, qword [rdi + 0x30e0]
mov qword [rdi + 0x30e0], rax
test rbx, rbx
je 0x140079657
mov rcx, rbx
call fcn.140081b50
mov edx, 0x448
mov rcx, rbx
call fcn.1403f4db4
mov qword [rdi + 0x30e8], r15
mov ecx, dword [rsi + 4]
mov dword [rdi + 0x27c0], ecx
movzx ecx, byte [rsi + 0x14]
mov byte [rdi + 0x27bc], cl
movzx ecx, byte [rsi + 0x18]
mov byte [rdi + 0x27bd], cl
movzx ecx, byte [rsi + 0x1c]
mov byte [rdi + 0x27bf], cl
mov rax, rdi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1403f4b10
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret