Function at 0x1401178e0
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 0x140117b3f
mov rdi, rdx
mov r15, rcx
mov r9, qword [rcx + 0x10]
cmp r9, rdx
ja 0x140117b63
add rdi, rdi
mov rdx, qword [0x140cf7558]
test rdx, rdx
jne 0x14011792e
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140cf7558], rdx
mov rcx, rdi
call fcn.14011adb0
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 0x140117b80
mov r12, rax
mov rcx, qword [r15]
mov r8, qword [r15 + 0x10]
mov r10, r8
add r10, r8
je 0x140117a02
cmp r10, 8
jb 0x14011798f
lea rax, [rcx + r10]
cmp r12, rax
jae 0x140117a20
lea rax, [r12 + r10]
cmp rcx, rax
jae 0x140117a20
xor edx, edx
mov rdi, rdx
not rdi
add rdi, r10
mov rax, r10
and rax, 2
je 0x1401179c2
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 0x1401179b0
cmp rdi, 3
jb 0x1401179ff
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 0x1401179d0
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
call fcn.1400d8c00
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 0x140117a2d
xor edx, edx
jmp 0x140117b0e
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 0x140117a54
xor esi, esi
jmp 0x140117ac0
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 0x140117a60
test r9, r9
je 0x140117afb
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 0x140117ae0
cmp r10, rdx
je 0x1401179ff
test r8b, 0xc
je 0x140117991
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 0x140117b20
cmp r10, rdx
je 0x1401179ff
jmp 0x140117991
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.1400c31d0
mov qword [rsp + 0x20], rdi
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________new_capacity__
mov edx, 0x246
call fcn.1400c31d0
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.1400efa80
int3