Function at 0x1400064e0
Capabilities:
Get memory capacity
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x268
mov rsi, rcx
mov r8d, 0x448
xor edx, edx
call fcn.1400924f0
mov byte [rsi + 0x20], 1
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x40], ymm0
vmovups ymmword [rsp + 0x60], ymm0
mov dword [rsp + 0x40], 0x40
lea rcx, [rsp + 0x40]
vzeroupper
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x140006536
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x248], ymm0
vmovups ymmword [rsp + 0x238], ymm0
vmovups ymmword [rsp + 0x218], ymm0
vmovups ymmword [rsp + 0x1f8], ymm0
vmovups ymmword [rsp + 0x1d8], ymm0
vmovups ymmword [rsp + 0x1b8], ymm0
vmovups ymmword [rsp + 0x198], ymm0
vmovups ymmword [rsp + 0x178], ymm0
vmovups ymmword [rsp + 0x158], ymm0
mov dword [rsp + 0x154], 0x114
lea rcx, [rsp + 0x154]
vzeroupper
call qword [0x1400c7220]
vpmovzxdq xmm0, qword [rsp + 0x158]
vmovdqu xmmword [rsi + 8], xmm0
mov eax, dword [rsp + 0x160]
mov qword [rsi + 0x18], rax
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rsp + 0x134], ymm0
vmovdqu ymmword [rsp + 0x11c], ymm0
vmovdqu ymmword [rsp + 0xfc], ymm0
vmovdqu ymmword [rsp + 0xdc], ymm0
vmovdqu ymmword [rsp + 0xbc], ymm0
mov dword [rsp + 0xb8], 0x9c
lea rcx, [rsp + 0xb8]
vzeroupper
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x140006621
movzx eax, byte [rsp + 0x152]
not al
and al, 1
mov byte [rsi + 0x21], al
mov dword [rsp + 0x3c], 0
xor edi, edi
lea rdx, [rsp + 0x3c]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
mov ebx, dword [rsp + 0x3c]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [0x1400c67c0]
nop dword [rax]
mov edx, dword [rcx + rdi*4 + 0x10]
cmp edx, eax
je 0x140006693
mov edx, dword [rcx + rdi*4 + 0x14]
cmp edx, eax
je 0x140006684
mov edx, dword [rcx + rdi*4 + 0x18]
cmp edx, eax
je 0x140006689
mov edx, dword [rcx + rdi*4 + 0x1c]
cmp edx, eax
je 0x14000668f
add rdi, 4
cmp rdi, 0x80
jne 0x140006650
mov eax, 0xffffffff
jmp 0x140006695
inc rdi
jmp 0x140006693
add rdi, 2
jmp 0x140006693
add rdi, 3
mov eax, edi
shl rax, 4
mov r14, qword [rax + rcx + 0x210]
mov r15, qword [rax + rcx + 0x218]
lea rdi, [r14 + r15]
mov edx, edi
and edx, 3
mov r12d, 4
sub r12, rdx
test rdx, rdx
cmove r12, rdx
add rdi, r12
add rbx, r15
add rbx, r12
mov qword [rax + rcx + 0x218], rbx
lea rdx, [rsp + 0x3c]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
test eax, eax
je 0x140006717
mov ecx, dword [rsp + 0x3c]
cmp rcx, 0x20
jb 0x140006717
shr ecx, 5
movzx eax, word [rsi + 0x30]
cmp ecx, 1
jne 0x1400067cd
xor edx, edx
test cl, 1
je 0x140006717
shl rdx, 5
cmp dword [rdi + rdx + 8], 0
jne 0x140006717
inc eax
mov word [rsi + 0x30], ax
lea rcx, [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movzx eax, word [rsp + 0xa8]
mov word [rsi + 0x32], ax
mov qword [rsi + 0x28], 1
movzx eax, word [rsp + 0x88]
cmp rax, 0xc
ja case.0x140006755.1
lea rcx, [0x1400b1c80]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, 4
jmp 0x140006778
mov eax, 8
jmp 0x140006778
mov eax, 0x20
jmp 0x140006778
mov eax, 2
jmp 0x140006778
mov eax, 0x10
mov qword [rsi + 0x28], rax
lea rax, [rsi + 0x48]
lea rcx, [rsi + 0x38]
mov qword [rsi + 0x38], rax
vmovups xmm0, xmmword [rsi + 0x10]
mov r9, qword [rsi + 8]
cmp byte [rsi + 0x21], 0
lea rax, [0x1400aa1c9]
lea r8, str._server
cmove r8, rax
vmovups xmmword [rsp + 0x20], xmm0
lea rdx, str.Windows_s__llu._llu_build__llu
call fcn.140002640
mov rax, rsi
add rsp, 0x268
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r8d, ecx
and r8d, 0xfffffffe
add r12, r15
lea r9, [r14 + r12]
add r9, 0x28
xor edx, edx
jmp 0x140006801
add rdx, 2
add r9, 0x40
cmp r8, rdx
je 0x140006701
cmp dword [r9 - 0x20], 0
je 0x140006810
cmp dword [r9], 0
jne 0x1400067f0
jmp 0x14000681c
inc eax
mov word [rsi + 0x30], ax
cmp dword [r9], 0
jne 0x1400067f0
inc eax
mov word [rsi + 0x30], ax
jmp 0x1400067f0