Function at 0x18012a6a0
Capabilities:
Get number of processors

Disassembly:
push rbx
push rdi
sub rsp, 0xb8
cmp qword [0x18034e488], 0
mov rdi, rdx
mov rbx, rcx
je 0x18012a9ab
call fcn.180178a70
test rax, rax
je 0x18012a9ab
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 0x18012a9ef
movsxd rax, dword [0x18034e2ec]
mov rcx, rbx
movss xmm6, dword [rax + rdi]
movss xmm7, dword [rax + rdi + 4]
call fcn.1801710f0
xorps xmm8, xmm8
test al, al
je 0x18012a79f
movss xmm0, dword [0x180337e40]
ucomiss xmm0, xmm8
jp 0x18012a79f
jne 0x18012a79f
movss xmm0, dword [0x180337e44]
ucomiss xmm0, xmm8
jp 0x18012a79f
jne 0x18012a79f
lea rcx, [rsp + 0xe0]
call fcn.180185370
divss xmm6, dword [rsp + 0xe0]
divss xmm7, dword [rsp + 0xe4]
unpcklps xmm6, xmm7
movsd qword [0x180337e40], xmm6
lea rbp, [rbx + 0x178]
movss xmm7, dword [rbp]
lea rcx, [rsp + 0xe0]
movss xmm6, dword [rbp + 4]
call fcn.180185370
movss xmm9, dword [rsp + 0xe4]
lea rcx, [rsp + 0xe0]
movss xmm10, dword [0x180337e44]
mulss xmm9, xmm6
movss xmm6, dword [rsp + 0xe0]
mulss xmm6, xmm7
movss xmm7, dword [0x180337e40]
call fcn.180185370
mulss xmm10, dword [rsp + 0xe4]
mov rcx, rbx
mulss xmm7, dword [rsp + 0xe0]
call fcn.1801710f0
test al, al
je 0x18012a81f
movaps xmm1, xmm6
unpcklps xmm1, xmm9
jmp 0x18012a826
movaps xmm1, xmm7
unpcklps xmm1, xmm10
movq rdx, xmm1
mov rcx, rdi
call fcn.1800ab3f0
mov rcx, rbx
call fcn.1801710f0
test al, al
lea rcx, [0x180337e40]
mov edx, 0x28
cmovne rcx, rbp
movsd xmm0, qword [rcx]
mov ecx, 0x15
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 0x18012a885
mov dl, 1
mov rcx, rdi
call fcn.1800ab600
lea rax, [0x1802aa528]
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 0x18012a9b5
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 0x18012a94b
jne 0x18012a94b
movaps xmm0, xmm6
divss xmm0, dword [rsp + 0xe4]
ucomiss xmm0, xmm8
jp 0x18012a94b
jne 0x18012a94b
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 0x18012a992
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 0x18012a97a
movaps xmm7, xmm0
comiss xmm0, xmm6
jbe 0x18012a982
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 0x18012a8c8
mov edx, 0xedc13537
call fcn.1801839a0
lea rcx, [0x18034e308]
mov dword [0x18034e310], eax
call fcn.18020e794
jmp 0x18012a8c8
lea rcx, [0x18034e2e0]
call fcn.18020e800
cmp dword [0x18034e2e0], 0xffffffff
jne 0x18012a733
mov edx, 0xccc3c4d3
call fcn.1801839a0
lea rcx, [0x18034e2e0]
mov dword [0x18034e2ec], eax
call fcn.18020e794
jmp 0x18012a733