Function at 0x140175278
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rax, qword [0x140418d28]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rdi, rdx
mov rsi, rcx
xor edx, edx
lea rcx, [rbp - 0x39]
lea r8d, [rdx + 0x48]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
lea r14, [rsi + 0x20]
xor r12d, r12d
movdqa xmmword [rbp - 9], xmm0
mov rcx, r14
mov qword [rbp + 7], r12
lea r8, [rbp - 0x79]
mov rdx, rdi
mov ebx, r12d
call fcn.1401757ec
test al, al
je 0x140175497
movsxd rax, dword [rbp - 0x79]
mov rcx, qword [0x1403c56c0]
mov r14, qword [rsi + 0x28]
lea r15, [rax + rax*8]
cmp rcx, qword [rdi + 0x10]
jne 0x14017530a
mov rax, qword [0x1403c56c8]
cmp rax, qword [rdi + 0x18]
je 0x140175323
movups xmm0, xmmword [rdi + 0x10]
movdqu xmmword [r14 + r15*8 + 0x10], xmm0
mov rax, qword [0x1403c56c8]
mov rcx, qword [0x1403c56c0]
cmp rcx, qword [rdi + 0x20]
jne 0x14017532f
cmp rax, qword [rdi + 0x28]
je 0x14017533a
movups xmm0, xmmword [rdi + 0x20]
movdqu xmmword [r14 + r15*8 + 0x20], xmm0
cmp qword [rdi + 0x30], r12
je 0x1401753b4
lea rsi, [r14 + r15*8]
mov rbx, qword [rsi + 0x30]
test rbx, rbx
je 0x14017536d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rbx - 4]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
call fcn.140078324
mov qword [rsi + 0x30], r12
mov r13, qword [rdi + 0x30]
mov ebx, r12d
test r13, r13
je 0x1401753a1
mov ebx, dword [r13 - 4]
xor ecx, ecx
call fcn.140078324
lea r8, [rsi + 0x30]
mov edx, ebx
mov rcx, r13
call fcn.1400780c4
mov ebx, eax
test eax, eax
jns 0x1401753a5
mov ecx, eax
call fcn.140078308
jmp 0x1401753a5
mov qword [rsi + 0x30], r12
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x14017561e
cmp qword [rdi + 0x38], r12
je 0x14017542e
lea rsi, [r14 + r15*8]
mov rbx, qword [rsi + 0x38]
test rbx, rbx
je 0x1401753e7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rbx - 4]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
call fcn.140078324
mov qword [rsi + 0x38], r12
mov r13, qword [rdi + 0x38]
mov ebx, r12d
test r13, r13
je 0x14017541b
mov ebx, dword [r13 - 4]
xor ecx, ecx
call fcn.140078324
lea r8, [rsi + 0x38]
mov edx, ebx
mov rcx, r13
call fcn.1400780c4
mov ebx, eax
test eax, eax
jns 0x14017541f
mov ecx, eax
call fcn.140078308
jmp 0x14017541f
mov qword [rsi + 0x38], r12
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x14017561e
cmp qword [rdi + 0x40], r12
je 0x140175625
lea rsi, [r14 + r15*8]
mov rbx, qword [rsi + 0x40]
test rbx, rbx
je 0x140175465
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rbx - 4]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
call fcn.140078324
mov qword [rsi + 0x40], r12
mov rdi, qword [rdi + 0x40]
mov ebx, r12d
test rdi, rdi
je 0x14017548e
mov ebx, dword [rdi - 4]
xor ecx, ecx
call fcn.140078324
lea r8, [rsi + 0x40]
mov edx, ebx
mov rcx, rdi
call fcn.1400780c4
jmp 0x140175606
mov qword [rsi + 0x40], r12
jmp 0x140175613
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movdqu xmmword [rbp - 0x39], xmm0
movups xmm0, xmmword [rdi + 0x20]
movdqu xmmword [rbp - 0x29], xmm1
movdqu xmmword [rbp - 0x19], xmm0
cmp qword [rdi + 0x30], r12
je 0x1401754fa
mov rsi, qword [rdi + 0x30]
test rsi, rsi
je 0x1401754e7
mov ebx, dword [rsi - 4]
xor ecx, ecx
call fcn.140078324
lea r8, [rbp - 9]
mov edx, ebx
mov rcx, rsi
call fcn.1400780c4
mov ebx, eax
test eax, eax
jns 0x1401754eb
mov ecx, eax
call fcn.140078308
jmp 0x1401754eb
mov qword [rbp - 9], r12
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x14017561e
cmp qword [rdi + 0x38], r12
je 0x140175546
mov rsi, qword [rdi + 0x38]
mov ebx, r12d
test rsi, rsi
je 0x140175533
mov ebx, dword [rsi - 4]
xor ecx, ecx
call fcn.140078324
lea r8, [rbp - 1]
mov edx, ebx
mov rcx, rsi
call fcn.1400780c4
mov ebx, eax
test eax, eax
jns 0x140175537
mov ecx, eax
call fcn.140078308
jmp 0x140175537
mov qword [rbp - 1], r12
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x14017561e
cmp qword [rdi + 0x40], r12
je 0x140175592
mov rdi, qword [rdi + 0x40]
mov ebx, r12d
test rdi, rdi
je 0x14017557f
mov ebx, dword [rdi - 4]
xor ecx, ecx
call fcn.140078324
lea r8, [rbp + 7]
mov edx, ebx
mov rcx, rdi
call fcn.1400780c4
mov ebx, eax
test eax, eax
jns 0x140175583
mov ecx, eax
call fcn.140078308
jmp 0x140175583
mov qword [rbp + 7], r12
mov ecx, ebx
call fcn.140078324
test ebx, ebx
js 0x14017561e
lea r8, [rbp - 0x79]
mov rcx, r14
lea rdx, [rbp - 0x39]
call fcn.1401757ec
test al, al
je 0x1401755f7
mov rdx, qword [r14 + 8]
xor r9d, r9d
movsxd rax, dword [rbp - 0x79]
mov qword [rbp - 0x71], 3
lea r8d, [r9 + 0x28]
lea rcx, [rax + rax*8]
lea rax, [rdx + rcx*8]
lea rcx, [0x1400062a0]
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x69], rcx
lea rax, [rbp - 0x39]
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x61], rcx
lea rdx, [rbp - 0x71]
mov ecx, 0xb9
call sub.ntdll.dll_NtQuerySystemInformation
mov ebx, r12d
jmp 0x140175613
mov edx, dword [rbp - 0x79]
lea r8, [rbp - 0x39]
mov rcx, r14
call fcn.140175bbc
mov ebx, eax
test eax, eax
jns 0x140175613
mov ecx, eax
call fcn.140078308
mov ecx, ebx
call fcn.140078324
test ebx, ebx
jns 0x140175625
mov ecx, ebx
call fcn.140078308
mov ecx, ebx
call fcn.140078324
xor r9d, r9d
mov qword [rbp - 0x71], 3
lea rax, [0x1400058e0]
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x69], rax
lea rdx, [rbp - 0x71]
lea rax, [rbp - 0x39]
mov ecx, 0xb9
lea r8d, [r9 + 0x28]
mov qword [rbp - 0x59], rax
call sub.ntdll.dll_NtQuerySystemInformation
mov eax, ebx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14035a4e0
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret