Function at 0x180005610
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r12, r9
mov r14, r8
mov r13, rdx
xor r15d, r15d
lea rdi, [rcx + 0x10]
mov rsi, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rbp - 0x48], rax
mov rbx, qword [rbp + 0x50]
cmp rsi, rax
je 0x18000573d
nop dword [rax]
mov r10, qword [rsi]
cmp qword [r10 + 8], r12
jb 0x180005728
mov r10, qword [r10 + 0x10]
test r10, r10
je 0x180005728
nop word [rax + rax]
mov r9, qword [r10 + 8]
mov rax, qword [r10 + 0x10]
sub rax, r9
cmp rax, r12
jb 0x180005718
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x30], r9
mov r11, qword [r14 + 8]
mov rax, qword [r14]
cmp rax, r11
je 0x1800056d4
nop dword [rax + rax]
mov rdx, qword [rax]
mov r8, r9
sub r8, rdx
mov rcx, rdx
sub rcx, r9
cmp r9, rdx
cmova rcx, r8
cmp rcx, rbx
ja 0x180005718
add rax, 8
cmp rax, r11
jne 0x1800056b0
lea rax, [r9 + r12]
mov qword [r10 + 8], rax
mov r8, qword [rbp + 0x30]
mov rdx, qword [r8 + 8]
test rdx, rdx
je 0x1800059ae
mov eax, dword [rdx + 8]
test eax, eax
je 0x1800059ae
nop dword [rax + rax]
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1800057ae
test eax, eax
je 0x1800059ae
jmp 0x180005700
mov r10, qword [r10]
test r10, r10
jne 0x180005680
mov rax, qword [rbp - 0x48]
add rsi, 8
cmp rsi, rax
jne 0x180005660
mov rdi, qword [rbp + 0x30]
add rdi, 0x10
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp - 8]
lea rsi, [rax - 1]
add rsi, r12
dec rax
not rax
and rsi, rax
mov r9, rbx
mov r8, rsi
mov rdx, r14
lea rcx, [rbp - 0x40]
call fcn.180002e50
cmp byte [rbp - 0x38], r15b
jne 0x1800057e3
movzx eax, byte [rbp - 0x40]
mov byte [r13], al
mov byte [r13 + 0x20], r15b
mov rax, r13
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, qword [r8]
mov qword [rbp - 0x30], rcx
mov rax, qword [r8 + 8]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x18], r12
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.180001bb0
mov byte [r13 + 0x20], 1
jmp 0x180005917
mov ecx, 0x18
call fcn.1800778c8
test rax, rax
je 0x1800057ff
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
jmp 0x180005802
mov rax, r15
mov qword [rbp - 0x48], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x180005821
mov qword [rdx], rax
mov rbx, qword [rdi + 8]
lea rax, [rbx + 8]
mov qword [rdi + 8], rax
jmp 0x180005830
lea r8, [rbp - 0x48]
mov rcx, rdi
call fcn.180001690
mov rbx, rax
mov rcx, qword [rbx]
mov r14, qword [rbp - 0x40]
mov qword [rcx], r14
mov rcx, qword [rbx]
mov qword [rcx + 8], rsi
mov ecx, 0x18
call fcn.1800778c8
mov rcx, rax
test rax, rax
je 0x180005860
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
jmp 0x180005863
mov rcx, r15
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov qword [rax + 0x10], rcx
test rdi, rdi
je 0x180005890
mov rdx, qword [rdi]
test rdx, rdx
je 0x180005883
mov rcx, rdi
call fcn.180002770
mov edx, 0x18
mov rcx, rdi
call fcn.180077904
lea rdx, [r14 + r12]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 8], rdx
lea rdx, [r14 + rsi]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x10], rdx
mov r8, qword [rbp + 0x30]
mov rdx, qword [r8 + 8]
test rdx, rdx
je 0x1800059ae
mov eax, dword [rdx + 8]
test eax, eax
je 0x1800059ae
nop word [rax + rax]
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1800058e3
test eax, eax
jne 0x1800058d0
jmp 0x1800059ae
mov rcx, qword [r8]
mov qword [rbp - 0x30], rcx
mov rax, qword [r8 + 8]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], r12
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.180001bb0
mov byte [r13 + 0x20], 1
mov rcx, qword [rbp - 0x30]
test rcx, rcx
mov edi, 0xffffffff
je 0x180005972
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x180005972
mov r8, qword [rbp - 0x18]
test r8, r8
je 0x180005972
call fcn.180005220
mov rbx, qword [rbp - 0x28]
test rbx, rbx
mov qword [rbp - 0x28], r15
je 0x180005976
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180005972
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180005972
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov r15, qword [rbp - 0x28]
test r15, r15
je 0x1800059a9
mov eax, edi
lock xadd dword [r15 + 8], eax
cmp eax, 1
jne 0x1800059a9
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1800059a9
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x18000578d
call fcn.180002d20
int3