Function at 0x140021fd0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rbp - 8], 0
lea rcx, [0x14009c3b6]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.GetLogicalProcessorInformationEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400222cd
mov rdi, rax
lea r8, [rbp - 8]
mov ecx, 0xffff
xor edx, edx
call rax
test al, al
jne 0x1400222cd
mov ecx, dword [rbp - 8]
call fcn.14006d55c
mov rbx, rax
lea r8, [rbp - 8]
mov ecx, 0xffff
mov rdx, rax
call rdi
test al, al
je 0x1400220b4
mov qword [rbp - 0x28], rsi
mov eax, dword [rbp - 8]
xor r15d, r15d
mov edi, 0
mov r13d, 0
mov r12d, 0
test eax, eax
je 0x1400220c1
xor r12d, r12d
mov rcx, rbx
xor r13d, r13d
xor edx, edx
xor edi, edi
jmp 0x1400220a1
inc edi
xor r8d, r8d
cmp byte [rcx + 8], 1
sete r8b
add r12d, r8d
inc r12d
mov r8d, dword [rcx + 4]
add edx, r8d
add rcx, r8
cmp edx, eax
jae 0x1400220c1
mov r8d, dword [rcx]
test r8d, r8d
je 0x140022080
cmp r8d, 1
jne 0x140022093
inc r13d
jmp 0x140022093
mov rcx, rbx
call fcn.14006c8c8
jmp 0x1400222cd
mov rcx, rbx
call fcn.14006c8c8
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
lea rbx, [rbp - 0x20]
lea r14, [rbp - 4]
jmp 0x1400220f7
mov r15d, dword [rbp - 4]
inc r15d
mov dword [rbp - 4], r15d
cmp r15d, r13d
jge 0x14002214f
mov eax, edi
cdq
idiv r13d
mov r15d, eax
xor esi, esi
cmp esi, r15d
jl 0x140022131
jmp 0x1400220f0
mov eax, dword [rbp - 4]
mov dword [rdx], eax
add qword [rbp - 0x18], 4
inc esi
cmp esi, r15d
jge 0x1400220f0
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
jne 0x140022120
mov rcx, rbx
mov r8, r14
call fcn.1400239f0
inc esi
cmp esi, r15d
jl 0x140022131
jmp 0x1400220f0
sub r12d, edi
xor edi, edi
lea rbx, [rbp - 0x20]
lea r14, [rbp - 4]
cmp edi, r12d
jl 0x14002217e
jmp 0x1400221a5
mov dword [rdx], eax
add qword [rbp - 0x18], 4
inc edi
cmp edi, r12d
jge 0x1400221a5
mov eax, edi
cdq
idiv r13d
mov eax, edx
mov dword [rbp - 4], edx
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
jne 0x140022170
mov rcx, rbx
mov r8, r14
call fcn.1400239f0
inc edi
cmp edi, r12d
jl 0x14002217e
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
sub rax, rcx
sar rax, 2
mov r13, qword [rbp - 0x28]
cmp rax, r13
jbe 0x1400221c3
mov ebx, dword [rcx + r13*4]
jmp 0x1400221d1
mov ebx, 0xffffffff
test rcx, rcx
je 0x1400222cd
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400221fd
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140022309
add rdx, 0x27
mov rcx, rax
call fcn.140060c2c
cmp ebx, 0xffffffff
je 0x1400222cd
lea rcx, [0x14009c3b6]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r12, rax
lea rdx, str.GetNumaNodeProcessorMaskEx
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call rsi
mov r14, rax
lea rdx, str.SetThreadGroupAffinity
mov rcx, r12
call rsi
mov rdi, rax
lea rdx, str.GetNumaNodeProcessorMask2
mov rcx, r12
call rsi
mov r15, rax
lea rdx, str.GetMaximumProcessorGroupCount
mov rcx, r12
call rsi
test r14, r14
je 0x1400222cd
test rdi, rdi
je 0x1400222cd
test r15, r15
je 0x1400222ae
test rax, rax
je 0x1400222ae
call rax
movzx r12d, ax
mov rcx, r12
shl rcx, 4
call fcn.14006d55c
mov r14, rax
lea r9, [rbp - 0x20]
mov ecx, ebx
mov rdx, rax
mov r8d, r12d
call r15
test al, al
je 0x140022301
movzx ecx, word [rbp - 0x20]
mov rax, r13
shr rax, 0x20
je 0x1400222df
mov rax, r13
xor edx, edx
div rcx
jmp 0x1400222e6
lea rdx, [rbp - 0x20]
mov ecx, ebx
call r14
test al, al
je 0x1400222cd
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rbp - 0x20]
mov rcx, rax
xor r8d, r8d
call rdi
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, r13d
xor edx, edx
div ecx
shl rdx, 4
mov rsi, r14
add rsi, rdx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov rdx, rsi
xor r8d, r8d
call rdi
mov rcx, r14
jmp 0x1400220b7
call fcn.14006b33c
int3