Function at 0x18012dd10
Capabilities:
Get number of processors

Disassembly:
push rbx
push rdi
sub rsp, 0xb8
cmp qword [0x18034e488], 0
mov rdi, rdx
mov rbx, rcx
je 0x18012e021
call fcn.180178a70
test rax, rax
je 0x18012e021
mov rax, qword gs:[0x58]
mov r8d, dword [0x180342d00]
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xb0], r14
mov rsi, qword [rax + r8*8]
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
mov r14d, 8
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x60], xmm10
mov eax, dword [rsi + r14]
cmp dword [0x18034e2e0], eax
jg 0x18012e065
cmp byte [rbx + 0xf1], 0
xorps xmm8, xmm8
movsxd rax, dword [0x18034e2ec]
movss xmm6, dword [rax + rdi]
movss xmm7, dword [rax + rdi + 4]
je 0x18012de17
movss xmm0, dword [0x180337eb0]
ucomiss xmm0, xmm8
jp 0x18012de17
jne 0x18012de17
movss xmm0, dword [0x180337eb4]
ucomiss xmm0, xmm8
jp 0x18012de17
jne 0x18012de17
lea rcx, [rsp + 0xe0]
call fcn.180185370
divss xmm6, dword [rsp + 0xe0]
divss xmm7, dword [rsp + 0xe4]
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [0x180337eb0], xmm0
movsd qword [rbx + 0x178], xmm0
lea rbp, [rbx + 0x178]
movss xmm7, dword [rbp]
lea rcx, [rsp + 0xe0]
movss xmm6, dword [rbp + 4]
call fcn.180185370
movss xmm10, dword [rsp + 0xe4]
lea rcx, [rsp + 0xe0]
movss xmm9, dword [rsp + 0xe0]
mulss xmm10, xmm6
movss xmm6, dword [0x180337eb4]
mulss xmm9, xmm7
movss xmm7, dword [0x180337eb0]
call fcn.180185370
cmp byte [rbx + 0xf1], 0
movss xmm1, dword [rsp + 0xe4]
mulss xmm7, dword [rsp + 0xe0]
mulss xmm1, xmm6
je 0x18012de99
movaps xmm1, xmm9
unpcklps xmm1, xmm10
jmp 0x18012de9f
unpcklps xmm7, xmm1
movaps xmm1, xmm7
movq rdx, xmm1
mov rcx, rdi
call fcn.1800ab3f0
cmp byte [rbx + 0xf1], 0
lea rax, [0x180337eb0]
mov edx, 0x28
mov ecx, 0x15
cmovne rax, rbp
movsd xmm0, qword [rax]
movsd qword [rbx + 0x18c], xmm0
call fcn.18018beb0
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
mov rbp, qword [rsp + 0xd0]
test al, al
je 0x18012defb
mov dl, 1
mov rcx, rdi
call fcn.1800ab600
lea rax, [0x1802aa648]
mov rcx, rdi
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
lea rax, [rsp + 0x20]
mov qword [rsp + 0x58], rax
call fcn.1800aba10
mov eax, dword [rsi + r14]
cmp dword [0x18034e308], eax
mov r14, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
jg 0x18012e02b
movsxd rax, dword [0x18034e310]
lea rcx, [rsp + 0xe0]
movss xmm7, dword [rax + rdi]
movss xmm6, dword [rax + rdi + 4]
call fcn.180185370
movaps xmm0, xmm7
divss xmm0, dword [rsp + 0xe0]
ucomiss xmm0, xmm8
jp 0x18012dfc1
jne 0x18012dfc1
movaps xmm0, xmm6
divss xmm0, dword [rsp + 0xe4]
ucomiss xmm0, xmm8
jp 0x18012dfc1
jne 0x18012dfc1
lea rcx, [rsp + 0xe0]
call fcn.180185370
movss xmm1, dword [0x1802b8418]
movaps xmm0, xmm1
divss xmm0, dword [rsp + 0xe0]
divss xmm1, dword [rsp + 0xe4]
movss dword [rbx + 0x184], xmm0
movss dword [rbx + 0x188], xmm1
jmp 0x18012e008
lea rcx, [rsp + 0xe0]
call fcn.180185370
divss xmm7, dword [rsp + 0xe0]
movss xmm0, dword [0x1802b8378]
comiss xmm0, xmm7
divss xmm6, dword [rsp + 0xe4]
jbe 0x18012dff0
movaps xmm7, xmm0
comiss xmm0, xmm6
jbe 0x18012dff8
movaps xmm6, xmm0
movss dword [rbx + 0x184], xmm7
movss dword [rbx + 0x188], xmm6
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0x80]
add rsp, 0xb8
pop rdi
pop rbx
ret
lea rcx, [0x18034e308]
call fcn.18020e800
cmp dword [0x18034e308], 0xffffffff
jne 0x18012df3e
mov edx, 0xedc13537
call fcn.1801839a0
lea rcx, [0x18034e308]
mov dword [0x18034e310], eax
call fcn.18020e794
jmp 0x18012df3e
lea rcx, [0x18034e2e0]
call fcn.18020e800
cmp dword [0x18034e2e0], 0xffffffff
jne 0x18012dda3
mov edx, 0xccc3c4d3
call fcn.1801839a0
lea rcx, [0x18034e2e0]
mov dword [0x18034e2ec], eax
call fcn.18020e794
jmp 0x18012dda3