Function at 0x140090e10
Capabilities:
Get system information on windows

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1400c1008]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, r9
mov r15, rdx
mov rbx, rcx
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x50], rcx
mov rdi, qword [rsp + 0x150]
xor r14d, r14d
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x2c], r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x34], r14d
mov qword [rsp + 0x20], r14
xorps xmm0, xmm0
movups xmmword [r11 - 0x78], xmm0
movups xmmword [r11 - 0x68], xmm0
movups xmmword [r11 - 0x58], xmm0
test rbx, rbx
je 0x140091231
cmp byte [rbx], r14b
je 0x140091231
test rdx, rdx
je 0x140091231
test r8, r8
je 0x140091231
cmp rdx, r8
ja 0x140091231
test r9, r9
je 0x140091231
test r13, r13
je 0x140091231
test r12, r12
je 0x140091231
test rax, rax
je 0x140091231
test rcx, rcx
je 0x140091231
test rdi, rdi
je 0x140091231
lfence
mov dword [rdi], r14d
mov rcx, rbx
call fcn.140093030
mov r8, r15
lea rdx, str.EFFICIENCY
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140090f61
mov dword [r12], 1
lea r9d, [r14 + 1]
mov rbx, qword [rsi + 0x28]
mov qword [rsp + 0x20], rbx
test rbx, rbx
jne 0x1400910a1
mov dword [r12], 2
mov rbx, qword [rsi + 0x30]
mov qword [rsp + 0x20], rbx
jmp 0x1400910a1
lfence
mov r8, r15
lea rdx, str.PERFORMANCE
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140090f95
mov dword [r12], 2
lea r9d, [rax + 1]
mov rbx, qword [rsi + 0x30]
mov qword [rsp + 0x20], rbx
jmp 0x1400910a1
lfence
mov r8, r15
lea rdx, [0x1400feb1c]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14009122d
mov r8d, dword [r12]
mov ecx, r8d
test r8d, r8d
je 0x14009103e
sub ecx, 1
je 0x140090fd4
cmp ecx, 1
je 0x140090fd4
mov dword [rdi], 1
jmp 0x140091231
mov r9d, 1
mov dword [rsp + 0x38], r14d
mov rbx, r14
mov qword [rsp + 0x20], rbx
mov edx, r14d
nop word [rax + rax]
cmp edx, dword [rsi + 0x10]
jae 0x1400910a1
mov ecx, r8d
sub ecx, r9d
je 0x14009101a
cmp ecx, r9d
je 0x14009100e
mov dword [rdi], r9d
jmp 0x140091231
mov ecx, edx
mov rax, qword [rsi + 0x20]
cmp dword [rax + rcx*4], 2
jmp 0x140091024
mov ecx, edx
mov rax, qword [rsi + 0x20]
cmp dword [rax + rcx*4], r9d
jne 0x140091036
mov ecx, edx
mov rax, r9
shl rax, cl
or rbx, rax
mov qword [rsp + 0x20], rbx
inc edx
mov dword [rsp + 0x38], edx
jmp 0x140090ff0
mov rcx, rbx
call fcn.1400902a0
mov rcx, rbx
test eax, eax
jne 0x14009106d
lea rdx, [rsp + 0x20]
call fcn.14008f7e0
cmp eax, 1
jne 0x140091063
mov dword [rdi], eax
jmp 0x140091231
mov dword [rsp + 0x2c], 1
jmp 0x140091097
call fcn.140090700
test eax, eax
jne 0x1400910c7
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.14008f740
cmp eax, 1
jne 0x14009108f
mov dword [rdi], eax
jmp 0x140091231
mov dword [rsp + 0x30], 1
mov rbx, qword [rsp + 0x20]
mov r9d, dword [rsp + 0x28]
cmp dword [rsp + 0x3c], 1
je 0x14009110a
cmp dword [rsp + 0x2c], 1
je 0x14009110a
cmp dword [rsp + 0x30], 1
je 0x14009110a
cmp r9d, 1
je 0x14009110a
mov dword [rdi], 1
jmp 0x140091231
cmp byte [rbx], 0x23
jne 0x140091225
cmp byte [rbx + 1], 0
je 0x140091225
lea rcx, [rbx + 1]
call fcn.14008f880
test eax, eax
jne 0x140091225
lea rdx, [rsp + 0x20]
lea rcx, [rbx + 1]
call fcn.14008f6f0
cmp eax, 1
jne 0x140091105
mov dword [rdi], eax
jmp 0x140091231
mov rbx, qword [rsp + 0x20]
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rsi, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetMaximumProcessorGroupCount]
movzx eax, ax
test eax, eax
jne 0x140091153
mov dword [rdi], 1
jmp 0x140091231
cmp eax, 1
jne 0x14009116c
cmp rbx, rsi
jbe 0x14009120b
mov dword [rdi], 2
jmp 0x140091231
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x58]
call fcn.140092a50
cmp eax, 1
jne 0x14009119e
mov dword [rdi], eax
jmp 0x140091231
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x44], r14d
mov ecx, r14d
mov edx, dword [rsp + 0x34]
mov r8, qword [rsp + 0x70]
cmp ecx, 0x40
jae 0x140091201
mov eax, ecx
bt rbx, rax
jae 0x1400911f9
mov eax, ecx
test r14d, r14d
jne 0x1400911e3
mov r14d, 1
mov dword [rsp + 0x40], r14d
mov edx, dword [r8 + rax*4]
mov dword [rsp + 0x34], edx
inc ecx
mov dword [rsp + 0x44], ecx
jmp 0x1400911b4
cmp edx, dword [r8 + rax*4]
je 0x1400911f1
mov dword [rdi], 3
jmp 0x140091231
inc ecx
mov dword [rsp + 0x44], ecx
jmp 0x1400911b4
mov dword [rdi], 1
jmp 0x140091231
lea rcx, [rsp + 0x58]
call fcn.140097fe0
mov dword [r13], 1
mov rax, qword [rsp + 0x48]
mov qword [rax], rbx
mov rax, qword [rsp + 0x50]
mov qword [rax], rsi
jmp 0x14009122d
mov dword [rdi], 1
jmp 0x140091231
xor eax, eax
jmp 0x140091245
nop
mov eax, 1
jmp 0x140091245
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140001ea0
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret