Function at 0x7ff6f9c3fa70
Capabilities:
Get number of processors

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm6
movzx eax, byte [rdx + 0xa4]
cmp al, 3
je 0x7ff6f9c3fe17
mov r15, rdx
mov rdi, rcx
mov byte [rsp + 0x37], al
mov rcx, rdx
mov dl, 3
call fcn.7ff6f9c46120
pxor xmm6, xmm6
movdqa xmmword [rsp + 0x90], xmm6
movdqa xmmword [rsp + 0x80], xmm6
movdqa xmmword [rsp + 0x70], xmm6
lea r14, [r15 + 0x60]
mov eax, dword [0x7ff6f9d20850]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x58], 0
jne 0x7ff6f9c3faf1
call fcn.7ff6f9cdf0b0
mov eax, dword [0x7ff6f9d20850]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm0, xmmword [rax + 0x60]
inc qword [rax + 0x60]
movups xmm1, xmmword [r14]
movups xmm2, xmmword [r14 + 0x10]
movups xmm3, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x60], xmm3
movdqu xmmword [r15 + 0x60], xmm0
mov qword [r15 + 0x70], 0
lea rax, [0x7ff6f9d179e0]
mov qword [r15 + 0x78], rax
movdqu xmmword [r15 + 0x80], xmm6
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x7ff6f9c3fc35
mov rbp, qword [rsp + 0x58]
lea rsi, [rbp + 0x10]
movdqa xmm0, xmmword [rbp]
pmovmskb r13d, xmm0
not r13d
lea r12, [rsp + 0x70]
mov rbx, qword [rsp + 0x38]
jmp 0x7ff6f9c3fb99
test rbx, rbx
je 0x7ff6f9c3fc35
test r13w, r13w
je 0x7ff6f9c3fbb0
lea eax, [r13 - 1]
and eax, r13d
jmp 0x7ff6f9c3fbd8
movdqa xmm0, xmmword [rsi]
pmovmskb r13d, xmm0
add rbp, 0xffffffffffffff80
add rsi, 0x10
cmp r13w, 0xffff
je 0x7ff6f9c3fbb0
mov ecx, 0xfffffffe
sub ecx, r13d
not r13d
mov eax, r13d
and eax, ecx
mov ecx, r13d
bsf cx, r13w
mov r13d, eax
dec rbx
movzx eax, cx
shl rax, 3
mov rcx, rbp
sub rcx, rax
mov rdx, qword [rcx - 8]
cmp rdx, rdi
je 0x7ff6f9c3fb90
mov dword [rsp + 0x20], 0x200001
mov rcx, r12
mov r8d, 0xf
mov r9d, 0xf
call sub.user32.dll_PeekMessageW
test eax, eax
je 0x7ff6f9c3fb90
mov rcx, r12
call sub.user32.dll_TranslateMessage
mov rcx, r12
call sub.user32.dll_DispatchMessageW
jmp 0x7ff6f9c3fb90
lea rsi, [r15 + 0x80]
mov eax, dword [0x7ff6f9d20850]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x58], 0
jne 0x7ff6f9c3fc5e
call fcn.7ff6f9cdf0b0
mov eax, dword [0x7ff6f9d20850]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm0, xmmword [rax + 0x60]
inc qword [rax + 0x60]
mov rdi, qword [r15 + 0x70]
mov rax, qword [r15 + 0x78]
mov r12, qword [r15 + 0x88]
lea rdx, [r12 + 1]
shr rdx, 1
cmp qword [rsp + 0x38], 0
movdqu xmmword [r15 + 0x60], xmm0
mov qword [r15 + 0x70], 0
lea rcx, [0x7ff6f9d179e0]
mov qword [r15 + 0x78], rcx
pxor xmm0, xmm0
movdqu xmmword [rsi], xmm0
mov qword [rsp + 0x38], rax
movdqa xmm6, xmmword [rax]
cmove rdx, r12
cmp qword [rsp + 0x60], rdx
jb 0x7ff6f9c3fd68
test r12, r12
je 0x7ff6f9c3fd80
pmovmskb eax, xmm6
not eax
mov rsi, qword [rsp + 0x38]
lea rbp, [rsi + 0x10]
lea rbx, [rsp + 0x40]
jmp 0x7ff6f9c3fd2c
lea r13d, [rax - 1]
and r13d, eax
bsf ax, ax
movzx eax, ax
shl rax, 3
mov rcx, rsi
sub rcx, rax
mov rdx, qword [rcx - 8]
mov rcx, rbx
call fcn.7ff6f9c4f9b0
mov eax, r13d
dec r12
je 0x7ff6f9c3fd80
test ax, ax
jne 0x7ff6f9c3fd00
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rbp]
pmovmskb eax, xmm0
add rsi, 0xffffffffffffff80
add rbp, 0x10
cmp ax, 0xffff
je 0x7ff6f9c3fd40
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov r13d, eax
and r13d, ecx
jmp 0x7ff6f9c3fd07
lea rcx, [rsp + 0x50]
lea r8, [rsp + 0x40]
call fcn.7ff6f9cea260
test r12, r12
jne 0x7ff6f9c3fcdf
mov rcx, qword [r15 + 0x70]
mov r8, qword [r15 + 0x78]
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
test rcx, rcx
je 0x7ff6f9c3fdd9
lea rax, [rcx + 1]
mov edx, 8
mul rdx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rcx, rax
cmp rcx, 0xffffffffffffffef
je 0x7ff6f9c3fdd9
sub r8, rax
mov rcx, qword [0x7ff6f9d20580]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
je 0x7ff6f9c3fe12
lea rax, [rdi + 1]
mov ecx, 8
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rdi, rax
cmp rdi, 0xffffffffffffffef
je 0x7ff6f9c3fe12
mov r8, qword [rsp + 0x38]
sub r8, rax
mov rcx, qword [0x7ff6f9d20580]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [rsp + 0x37]
cmp al, 3
setne al
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret