Function at 0x1401186d0
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
test rdx, rdx
je 0x14011892f
mov rdi, rdx
mov r15, rcx
mov r9, qword [rcx + 0x10]
cmp r9, rdx
ja 0x140118953
add rdi, rdi
mov rdx, qword [0x140d48558]
test rdx, rdx
jne 0x14011871e
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140d48558], rdx
mov rcx, rdi
call fcn.14011bba0
mov r14, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x140118970
mov r12, rax
mov rcx, qword [r15]
mov r8, qword [r15 + 0x10]
mov r10, r8
add r10, r8
je 0x1401187f2
cmp r10, 8
jb 0x14011877f
lea rax, [rcx + r10]
cmp r12, rax
jae 0x140118810
lea rax, [r12 + r10]
cmp rcx, rax
jae 0x140118810
xor edx, edx
mov rdi, rdx
not rdi
add rdi, r10
mov rax, r10
and rax, 2
je 0x1401187b2
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rcx + rdx]
mov byte [r12 + rdx], bl
add rdx, 1
add rax, 0xffffffffffffffff
jne 0x1401187a0
cmp rdi, 3
jb 0x1401187ef
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
mov byte [r12 + rdx], al
movzx eax, byte [rcx + rdx + 1]
mov byte [r12 + rdx + 1], al
movzx eax, byte [rcx + rdx + 2]
mov byte [r12 + rdx + 2], al
movzx eax, byte [rcx + rdx + 3]
mov byte [r12 + rdx + 3], al
add rdx, 4
cmp r10, rdx
jne 0x1401187c0
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
call fcn.1400d9ee0
mov qword [r15], r12
mov qword [r15 + 8], r14
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
cmp r10, 0x20
jae 0x14011881d
xor edx, edx
jmp 0x1401188fe
mov rdx, r10
and rdx, 0xffffffffffffffe0
lea rax, [rdx - 0x20]
mov rdi, rax
shr rdi, 5
add rdi, 1
mov r9d, edi
and r9d, 3
cmp rax, 0x60
jae 0x140118844
xor esi, esi
jmp 0x1401188b0
and rdi, 0xfffffffffffffffc
xor esi, esi
nop word [rax + rax]
movups xmm0, xmmword [rcx + rsi]
movups xmm1, xmmword [rcx + rsi + 0x10]
movups xmmword [r12 + rsi], xmm0
movups xmmword [r12 + rsi + 0x10], xmm1
movups xmm0, xmmword [rcx + rsi + 0x20]
movups xmm1, xmmword [rcx + rsi + 0x30]
movups xmmword [r12 + rsi + 0x20], xmm0
movups xmmword [r12 + rsi + 0x30], xmm1
movups xmm0, xmmword [rcx + rsi + 0x40]
movups xmm1, xmmword [rcx + rsi + 0x50]
movups xmmword [r12 + rsi + 0x40], xmm0
movups xmmword [r12 + rsi + 0x50], xmm1
movups xmm0, xmmword [rcx + rsi + 0x60]
movups xmm1, xmmword [rcx + rsi + 0x70]
movups xmmword [r12 + rsi + 0x60], xmm0
movups xmmword [r12 + rsi + 0x70], xmm1
sub rsi, 0xffffffffffffff80
add rdi, 0xfffffffffffffffc
jne 0x140118850
test r9, r9
je 0x1401188eb
lea rax, [r12 + rsi]
add rax, 0x10
lea rdi, [rcx + rsi]
add rdi, 0x10
shl r9, 5
xor esi, esi
nop dword [rax + rax]
movups xmm0, xmmword [rdi + rsi - 0x10]
movups xmm1, xmmword [rdi + rsi]
movups xmmword [rax + rsi - 0x10], xmm0
movups xmmword [rax + rsi], xmm1
add rsi, 0x20
cmp r9, rsi
jne 0x1401188d0
cmp r10, rdx
je 0x1401187ef
test r8b, 0xc
je 0x140118781
mov rax, rdx
mov rdx, r10
and rdx, 0xfffffffffffffff8
nop dword [rax + rax]
mov rdi, qword [rcx + rax]
mov qword [r12 + rax], rdi
add rax, 8
cmp rdx, rax
jne 0x140118910
cmp r10, rdx
je 0x1401187ef
jmp 0x140118781
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__new_capacity_______0__
mov edx, 0x245
xor r9d, r9d
call fcn.1400c44b0
mov qword [rsp + 0x20], rdi
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________new_capacity__
mov edx, 0x246
call fcn.1400c44b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.InternalMmapVector
lea r8, str.allocate
mov rcx, r14
mov r9d, eax
call fcn.1400f0d60
int3