Function at 0x14005f390
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rbx, r9
mov r14, r8
mov rsi, rcx
mov rax, qword [0x1400e00c0]
mov rax, qword [rax]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [rcx], rdx
movaps xmm0, xmmword [0x1400e4c90]
movups xmmword [rcx + 0x10], xmm0
lea rax, [rcx + 0x20]
mov qword [rcx + 8], rax
mov al, byte [0x14012afe0]
test al, al
je 0x14005f5a2
mov edi, dword [0x14012d1d8]
lea rax, [r14 + rbx]
add rax, 0xffffffffffffffff
mov rcx, rax
shr rcx, 0x20
je 0x14005f400
xor edx, edx
div rdi
mov r15, rax
jmp 0x14005f407
xor edx, edx
div edi
mov r15d, eax
mov rax, r14
shr rax, 0x20
je 0x14005f41d
mov rax, r14
xor edx, edx
div rdi
mov rbx, rax
jmp 0x14005f426
mov eax, r14d
xor edx, edx
div edi
mov ebx, eax
sub r15, rbx
inc r15
je 0x14005f523
lea r12, [rsi + 8]
imul rbx, rdi
xor r13d, r13d
lea rbp, [rsp + 0x2c]
jmp 0x14005f476
mov rcx, qword [rsi + 8]
shl rax, 4
mov dword [rcx + rax], r14d
mov qword [rcx + rax + 8], rbx
add qword [rsi + 0x10], 1
add r13, 1
add rbx, rdi
cmp r13, r15
je 0x14005f523
mov rcx, rbx
mov rdx, rdi
mov r8d, dword [rsp + 0xd0]
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x14005f4bb
mov r14d, dword [rsp + 0x2c]
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
jne 0x14005f450
mov edx, 1
mov rcx, r12
call fcn.14005f660
test al, al
je 0x14005f54f
mov rax, qword [rsi + 0x10]
jmp 0x14005f450
mov dword [rsp + 0x2c], 0
mov al, byte [0x14012afe0]
test al, al
je 0x14005f5e1
mov r15, qword [rsi + 0x10]
test r15, r15
mov r12, qword [sym.imp.KERNEL32.dll_VirtualProtect]
je 0x14005f51b
mov rbx, qword [rsi + 8]
mov edi, dword [0x14012d1d8]
shl r15, 4
xor ebp, ebp
lea r14, [rsp + 0x30]
nop word cs:[rax + rax]
mov rcx, qword [rbx + rbp + 8]
mov r8d, dword [rbx + rbp]
mov rdx, rdi
mov r9, r14
call r12
add rbp, 0x10
cmp r15, rbp
jne 0x14005f500
mov qword [rsi + 0x10], 0
mov rax, qword [rsp + 0x60]
xor rax, rsp
mov rcx, qword [0x1400e00c0]
mov rcx, qword [rcx]
cmp rcx, rax
jne 0x14005f5dc
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, byte [0x14012afe0]
test al, al
je 0x14005f61b
mov r15, qword [rsi + 0x10]
test r15, r15
mov r12, qword [sym.imp.KERNEL32.dll_VirtualProtect]
je 0x14005f51b
mov rbx, qword [rsi + 8]
mov edi, dword [0x14012d1d8]
shl r15, 4
xor ebp, ebp
lea r14, [rsp + 0x30]
mov rcx, qword [rbx + rbp + 8]
mov r8d, dword [rbx + rbp]
mov rdx, rdi
mov r9, r14
call r12
add rbp, 0x10
cmp r15, rbp
jne 0x14005f582
jmp 0x14005f51b
lea rcx, [0x14012afe0]
call fcn.1400aa594
test eax, eax
je 0x14005f3df
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x34]
mov dword [0x14012d1d8], eax
lea rcx, [0x14012afe0]
call fcn.1400aa66b
jmp 0x14005f3df
call fcn.14005fbe0
lea rcx, [0x14012afe0]
call fcn.1400aa594
test eax, eax
je 0x14005f4d1
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x34]
mov dword [0x14012d1d8], eax
lea rcx, [0x14012afe0]
call fcn.1400aa66b
jmp 0x14005f4d1
lea rcx, [0x14012afe0]
call fcn.1400aa594
test eax, eax
je 0x14005f55d
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x34]
mov dword [0x14012d1d8], eax
lea rcx, [0x14012afe0]
call fcn.1400aa66b
jmp 0x14005f55d