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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x14011c358]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov r13, rdx
mov qword [rsp + 0x60], rdx
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 6
mov qword [rbp - 8], recv
mov eax, dword [str.whwid:]
mov dword [rbp - 0x20], eax
movzx eax, word [0x1400d56dc]
mov word [rbp - 0x1c], ax
xor eax, eax
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x78], eax
lea rcx, [rbp]
call qword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
jne 0x1400824e8
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], r12
xor r8d, r8d
lea rdx, [0x1400cdc1e]
mov rcx, r13
call fcn.14006b760
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x140082e7b
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400824de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082eb4
call fcn.14009a20c
jmp 0x140082e7b
lea rax, [rbp + 4]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400824f3
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14008253c
lea rax, [rdi + rcx]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8, rdi
lea rdx, [rbp + 4]
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + rdi], 0
jmp 0x140082557
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 4]
movzx r8d, byte [rsp + 0x30]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140072640
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 6
jb 0x1400825a8
lea rax, [rcx + 6]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8d, 6
lea rdx, str._cpus:
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + 6], 0
jmp 0x1400825cc
mov qword [rsp + 0x20], 6
lea r9, str._cpus:
movzx r8d, byte [rsp + 0x30]
mov edx, 6
lea rcx, [rbp - 0x20]
call fcn.140072640
lea r14, [rbp + 0x95]
mov r8d, dword [rbp - 0x30]
nop word [rax + rax]
dec r14
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r14], r8b
mov r8d, edx
test edx, edx
jne 0x1400825e0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
lea rax, [rbp + 0x95]
lea ecx, [rdx + 0x16]
movabs r15, 0x7fffffffffffffff
cmp r14, rax
jne 0x140082651
mov rdi, r12
mov qword [rsp + 0x48], r12
mov esi, recv
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x38], dil
jmp 0x1400826ec
lea rdi, [rbp + 0x95]
sub rdi, r14
cmp rdi, r15
ja 0x140082eba
cmp rdi, 0x10
jae 0x140082694
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], socket
mov r8, rdi
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.14009c440
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1400826ec
mov rsi, rdi
or rsi, 0xf
cmp rsi, r15
jbe 0x1400826a5
mov rsi, r15
jmp 0x1400826ac
cmp rsi, rcx
cmovb rsi, rcx
mov rdx, rsi
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140069810
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rsi
mov r8, rdi
mov rdx, r14
mov rcx, rax
call fcn.14009c440
mov byte [rbx + rdi], 0
lea r9, [rsp + 0x38]
cmp rsi, 0x10
cmovae r9, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14008273a
lea rax, [rdi + rcx]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + rdi], 0
jmp 0x140082756
mov qword [rsp + 0x20], rdi
movzx r8d, byte [rsp + 0x30]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140072640
mov rsi, qword [rsp + 0x50]
cmp rsi, 0x10
jb 0x14008278f
lea rdx, [rsi + 1]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008278a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082ec6
call fcn.14009a20c
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 9
jb 0x1400827d6
lea rax, [rcx + 9]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8d, 9
lea rdx, str._cputype:
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + 9], 0
jmp 0x1400827fa
mov qword [rsp + 0x20], 9
lea r9, str._cputype:
movzx r8d, byte [rsp + 0x30]
mov edx, 9
lea rcx, [rbp - 0x20]
call fcn.140072640
lea r14, [rbp + 0x95]
mov r8d, dword [rbp - 0x2c]
nop word [rax + rax]
dec r14
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r14], r8b
mov r8d, edx
test edx, edx
jne 0x140082810
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
lea rax, [rbp + 0x95]
cmp r14, rax
jne 0x140082874
mov rdi, r12
mov qword [rsp + 0x48], r12
mov esi, recv
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x38], dil
jmp 0x140082915
lea rdi, [rbp + 0x95]
sub rdi, r14
cmp rdi, r15
ja 0x140082ec0
cmp rdi, 0x10
jae 0x1400828b7
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], socket
mov r8, rdi
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.14009c440
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x140082915
mov rsi, rdi
or rsi, 0xf
cmp rsi, r15
jbe 0x1400828c8
mov rsi, r15
jmp 0x1400828d5
cmp rsi, 0x16
mov eax, socket
cmovb rsi, rax
mov rdx, rsi
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140069810
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rsi
mov r8, rdi
mov rdx, r14
mov rcx, rax
call fcn.14009c440
mov byte [rbx + rdi], 0
lea r9, [rsp + 0x38]
cmp rsi, 0x10
cmovae r9, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x140082963
lea rax, [rdi + rcx]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + rdi], 0
jmp 0x14008297f
mov qword [rsp + 0x20], rdi
movzx r8d, byte [rsp + 0x30]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140072640
mov rsi, qword [rsp + 0x50]
cmp rsi, 0x10
jb 0x1400829b8
lea rdx, [rsi + 1]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400829b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082ec6
call fcn.14009a20c
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 8
jb 0x1400829f6
lea rax, [rcx + 8]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x20]
movabs rdx, 0x3a7665727570633b
mov qword [rax + rcx], rdx
mov byte [rax + rcx + 8], 0
jmp 0x140082a1a
mov qword [rsp + 0x20], 8
lea r9, str._cpurev:
movzx r8d, byte [rsp + 0x30]
mov edx, 8
lea rcx, [rbp - 0x20]
call fcn.140072640
movzx edx, word [rbp - 0x22]
lea rcx, [rsp + 0x38]
call fcn.1400942a0
mov r9, rax
mov rdi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140082a39
mov r9, qword [rax]
mov rsi, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x140082a7a
lea rax, [rdi + rsi]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rsi]
mov r8, rdi
mov rdx, r9
call fcn.14009c440
lea rax, [rdi + rbx]
mov byte [rax + rsi], 0
jmp 0x140082a92
mov qword [rsp + 0x20], rdi
movzx r8d, byte [rsp + 0x30]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140072640
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140082acf
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082aca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082ecc
call fcn.14009a20c
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 6
jb 0x140082b16
lea rax, [rcx + 6]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8d, 6
lea rdx, str._arch:
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + 6], 0
jmp 0x140082b3a
mov qword [rsp + 0x20], 6
lea r9, str._arch:
movzx r8d, byte [rsp + 0x30]
mov edx, 6
lea rcx, [rbp - 0x20]
call fcn.140072640
movzx edx, word [rbp - 0x50]
lea rcx, [rsp + 0x38]
call fcn.1400942a0
mov r9, rax
mov rdi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140082b59
mov r9, qword [rax]
mov rsi, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x140082b9a
lea rax, [rsi + rdi]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rsi + rbx]
mov r8, rdi
mov rdx, r9
call fcn.14009c440
lea rax, [rdi + rsi]
mov byte [rax + rbx], 0
jmp 0x140082bb2
mov qword [rsp + 0x20], rdi
movzx r8d, byte [rsp + 0x30]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140072640
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140082bef
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082bea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082ed2
call fcn.14009a20c
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x140082c36
lea rax, [rcx + 5]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x20]
add rbx, rcx
mov r8d, 5
lea rdx, str._mem:
mov rcx, rbx
call fcn.14009c440
mov byte [rbx + 5], 0
jmp 0x140082c5a
mov qword [rsp + 0x20], 5
lea r9, str._mem:
movzx r8d, byte [rsp + 0x30]
mov edx, 5
lea rcx, [rbp - 0x20]
call fcn.140072640
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]
test eax, eax
jne 0x140082ceb
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], r12
xor r8d, r8d
lea rdx, [0x1400cdc1e]
mov rcx, r13
call fcn.14006b760
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x140082e7b
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400824de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082eb4
jmp 0x1400824de
mov r8, qword [rsp + 0x78]
shr r8, 0x14
lea rsi, [rbp + 0x95]
movabs r9, 0xcccccccccccccccd
nop word [rax + rax]
dec rsi
mov rax, r9
mul r8
shr rdx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [rsi], r8b
mov r8, rdx
test rdx, rdx
jne 0x140082d10
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
lea rax, [rbp + 0x95]
cmp rsi, rax
jne 0x140082d75
mov rdi, r12
mov qword [rsp + 0x48], r12
mov r15d, recv
mov qword [rsp + 0x50], r15
mov byte [rsp + 0x38], dil
jmp 0x140082e14
lea rdi, [rbp + 0x95]
sub rdi, rsi
cmp rdi, r15
ja 0x140082eae
cmp rdi, 0x10
jae 0x140082db8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], socket
mov r8, rdi
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.14009c440
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x140082e14
mov rax, rdi
or rax, 0xf
cmp rax, r15
ja 0x140082dd4
mov r15, rax
cmp rax, 0x16
mov eax, socket
cmovb r15, rax
mov rdx, r15
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140069810
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r15
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.14009c440
mov byte [rbx + rdi], 0
lea rdx, [rsp + 0x38]
cmp r15, 0x10
cmovae rdx, qword [rsp + 0x38]
mov r8, rdi
lea rcx, [rbp - 0x20]
call fcn.14008a220
nop
lea rcx, [rsp + 0x38]
call fcn.140069370
mov r8d, 2
lea rdx, [0x1400d5714]
lea rcx, [rbp - 0x20]
call fcn.14008a220
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [r13 + 0x10], xmm1
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], recv
mov byte [rbp - 0x20], 0
lea rcx, [rbp - 0x20]
call fcn.140069370
mov rax, r13
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.14009a320
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14006abc0
nop
call fcn.1400aedac
nop
call fcn.14006abc0
int3
call fcn.14006abc0
int3
call fcn.1400aedac
int3
call fcn.1400aedac
int3
call fcn.1400aedac
int3