Function at 0x1401179e0
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 0x140117c3f
mov rdi, rdx
mov r15, rcx
mov r9, qword [rcx + 0x10]
cmp r9, rdx
ja 0x140117c63
add rdi, rdi
mov rdx, qword [0x140d99558]
test rdx, rdx
jne 0x140117a2e
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140d99558], rdx
mov rcx, rdi
call fcn.14011aeb0
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 0x140117c80
mov r12, rax
mov rcx, qword [r15]
mov r8, qword [r15 + 0x10]
mov r10, r8
add r10, r8
je 0x140117b02
cmp r10, 8
jb 0x140117a8f
lea rax, [rcx + r10]
cmp r12, rax
jae 0x140117b20
lea rax, [r12 + r10]
cmp rcx, rax
jae 0x140117b20
xor edx, edx
mov rdi, rdx
not rdi
add rdi, r10
mov rax, r10
and rax, 2
je 0x140117ac2
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 0x140117ab0
cmp rdi, 3
jb 0x140117aff
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 0x140117ad0
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
call fcn.1400d8d00
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 0x140117b2d
xor edx, edx
jmp 0x140117c0e
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 0x140117b54
xor esi, esi
jmp 0x140117bc0
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 0x140117b60
test r9, r9
je 0x140117bfb
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 0x140117be0
cmp r10, rdx
je 0x140117aff
test r8b, 0xc
je 0x140117a91
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 0x140117c20
cmp r10, rdx
je 0x140117aff
jmp 0x140117a91
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.1400c32d0
mov qword [rsp + 0x20], rdi
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________new_capacity__
mov edx, 0x246
call fcn.1400c32d0
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.1400efb80
int3