Function at 0x14008ea90
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov dword [rsp + 0x38], 0
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.GetLogicalProcessorInformationEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14008f0e9
mov rbx, rax
lea r8, [rsp + 0x38]
mov ecx, 0xffff
xor edx, edx
call rax
test al, al
jne 0x14008f0e9
mov ecx, dword [rsp + 0x38]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rdi, rax
lea r8, [rsp + 0x38]
mov ecx, 0xffff
mov rdx, rax
call rbx
test al, al
je 0x14008eb63
mov eax, dword [rsp + 0x38]
test eax, eax
mov qword [rsp + 0x50], rsi
je 0x14008eda5
xor r15d, r15d
mov rcx, rdi
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x14008eb51
inc ebp
xor r8d, r8d
cmp byte [rcx + 8], 1
sete r8b
add r15d, r8d
inc r15d
mov r8d, dword [rcx + 4]
add edx, r8d
add rcx, r8
cmp edx, eax
jae 0x14008eb70
mov r8d, dword [rcx]
test r8d, r8d
je 0x14008eb30
cmp r8d, 1
jne 0x14008eb43
inc ebx
jmp 0x14008eb43
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x14008f0e9
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
test ebx, ebx
mov dword [rsp + 0x2c], ebx
jle 0x14008edc9
mov dword [rsp + 0x30], ebp
mov eax, ebp
cdq
idiv ebx
xor r12d, r12d
test eax, eax
jle 0x14008eddd
mov qword [rsp + 0x20], r15
movabs rdx, 0x3fffffffffffffff
xor r14d, r14d
xor r13d, r13d
xor ebp, ebp
mov dword [rsp + 0x34], eax
jmp 0x14008ebce
inc r12d
cmp r12d, dword [rsp + 0x2c]
je 0x14008edc2
xor r15d, r15d
mov qword [rsp + 0x48], r12
jmp 0x14008ebf0
mov dword [rbp], r12d
add rbp, 4
inc r15d
cmp r15d, eax
je 0x14008ebc0
cmp rbp, r13
jne 0x14008ebe0
mov rdi, r13
sub rdi, r14
mov rsi, rdi
sar rsi, 2
lea rax, [rsi + 1]
cmp rax, rdx
ja 0x14008f143
movabs rcx, 0x7fffffffffffffc0
add rcx, 0x3c
mov rbx, rdi
sar rbx, 1
cmp rbx, rax
cmovbe rbx, rax
cmp rdi, rcx
cmovae rbx, rdx
test rbx, rbx
je 0x14008ec51
cmp rbx, rdx
ja 0x14008f14b
lea rcx, [rbx*4]
vzeroupper
call fcn.140006100
jmp 0x14008ec53
xor eax, eax
lea rbp, [rax + rsi*4]
mov dword [rax + rsi*4], r12d
mov r12, rbp
cmp r13, r14
je 0x14008ed76
lea rdx, [r13 - 4]
mov rcx, rdx
sub rcx, r14
cmp rcx, 0x13c
jae 0x14008ec82
mov r12, rbp
jmp 0x14008ed60
mov r8, rcx
and r8, 0xfffffffffffffffc
lea r9, [rax + rdi]
add r9, 0xfffffffffffffffc
mov r10, r9
sub r10, r8
cmp r10, r9
ja 0x14008ecc2
mov r9, rdx
sub r9, r8
cmp r9, rdx
ja 0x14008ecca
add rdi, rax
sub rdx, rdi
add rdx, 4
cmp rdx, 0x100
jae 0x14008ecd2
mov r12, rbp
jmp 0x14008ed60
mov r12, rbp
jmp 0x14008ed60
mov r12, rbp
jmp 0x14008ed60
shr rcx, 2
inc rcx
mov r8, rcx
movabs rdx, 0x7fffffffffffffc0
and r8, rdx
lea rdx, [r8*4]
mov r12, rbp
sub r12, rdx
neg rdx
mov r9, rcx
and r9, 0xffffffffffffffc0
neg r9
lea r10, [rax + rsi*4]
add r10, 0xffffffffffffffc0
xor r11d, r11d
nop
vmovups zmm0, zmmword [r13 + r11*4 - 0x100]
vmovups zmm1, zmmword [r13 + r11*4 - 0xc0]
vmovups zmm2, zmmword [r13 + r11*4 - 0x80]
vmovups zmm3, zmmword [r13 + r11*4 - 0x40]
vmovups zmmword [r10 + r11*4], zmm3
vmovups zmmword [r10 + r11*4 - 0x40], zmm2
vmovups zmmword [r10 + r11*4 - 0x80], zmm1
vmovups zmmword [r10 + r11*4 - 0xc0], zmm0
add r11, 0xffffffffffffffc0
cmp r9, r11
jne 0x14008ed10
cmp rcx, r8
je 0x14008ed76
add r13, rdx
mov ecx, dword [r13 - 4]
add r13, 0xfffffffffffffffc
mov dword [r12 - 4], ecx
add r12, 0xfffffffffffffffc
cmp r13, r14
jne 0x14008ed60
lea r13, [rax + rbx*4]
test r14, r14
je 0x14008ed8a
mov rcx, r14
vzeroupper
call fcn.1400061e0
mov r14, r12
mov eax, dword [rsp + 0x34]
mov r12, qword [rsp + 0x48]
movabs rdx, 0x3fffffffffffffff
jmp 0x14008ebe4
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
xor r15d, r15d
mov dword [rsp + 0x2c], 0
xor eax, eax
xor r14d, r14d
xor r13d, r13d
jmp 0x14008edd1
mov r15, qword [rsp + 0x20]
jmp 0x14008ede5
xor r14d, r14d
xor r13d, r13d
mov eax, ebp
xor ebp, ebp
sub r15d, eax
jg 0x14008edf2
jmp 0x14008eff9
xor r14d, r14d
xor r13d, r13d
xor ebp, ebp
mov eax, dword [rsp + 0x30]
sub r15d, eax
jle 0x14008eff9
xor ebx, ebx
movabs r8, 0x3fffffffffffffff
mov qword [rsp + 0x20], r15
jmp 0x14008ee22
mov dword [rbp], edx
add rbp, 4
inc ebx
cmp ebx, r15d
je 0x14008eff9
mov eax, ebx
cdq
idiv dword [rsp + 0x2c]
cmp rbp, r13
jb 0x14008ee10
mov r15, rbp
sub r15, r14
mov r12, r15
sar r12, 2
lea rax, [r12 + 1]
cmp rax, r8
ja 0x14008f143
sub r13, r14
movabs rcx, 0x7fffffffffffffc0
add rcx, 0x3c
mov rsi, r13
sar rsi, 1
cmp rsi, rax
cmovbe rsi, rax
cmp r13, rcx
cmovae rsi, r8
test rsi, rsi
je 0x14008ee92
cmp rsi, r8
ja 0x14008f14b
mov edi, edx
lea rcx, [rsi*4]
vzeroupper
call fcn.140006100
mov edx, edi
jmp 0x14008ee94
xor eax, eax
lea rdi, [rax + r12*4]
mov dword [rax + r12*4], edx
cmp rbp, r14
je 0x14008eed5
lea rdx, [rbp - 4]
mov rcx, rdx
sub rcx, r14
cmp rcx, 0x13c
jae 0x14008ef08
mov r15, qword [rsp + 0x20]
nop dword [rax]
mov ecx, dword [rbp - 4]
add rbp, 0xfffffffffffffffc
mov dword [rdi - 4], ecx
add rdi, 0xfffffffffffffffc
cmp rbp, r14
jne 0x14008eec0
jmp 0x14008eeda
mov r15, qword [rsp + 0x20]
lea r13, [rax + rsi*4]
lea rbp, [rax + r12*4]
add rbp, 4
test r14, r14
je 0x14008eef6
mov rcx, r14
vzeroupper
call fcn.1400061e0
mov r14, rdi
movabs r8, 0x3fffffffffffffff
jmp 0x14008ee17
mov r8, rcx
and r8, 0xfffffffffffffffc
lea r9, [rax + r15]
add r9, 0xfffffffffffffffc
mov r10, r9
sub r10, r8
cmp r10, r9
ja 0x14008ef4a
mov r9, rdx
sub r9, r8
cmp r9, rdx
ja 0x14008ef54
add r15, rax
sub rdx, r15
add rdx, 4
cmp rdx, 0x100
jae 0x14008ef5e
mov r15, qword [rsp + 0x20]
jmp 0x14008eec0
mov r15, qword [rsp + 0x20]
jmp 0x14008eec0
mov r15, qword [rsp + 0x20]
jmp 0x14008eec0
shr rcx, 2
inc rcx
mov r8, rcx
movabs rdx, 0x7fffffffffffffc0
and r8, rdx
lea rdx, [r8*4]
sub rdi, rdx
neg rdx
mov r9, rcx
and r9, 0xffffffffffffffc0
neg r9
lea r10, [rax + r12*4]
add r10, 0xffffffffffffffc0
xor r11d, r11d
mov r15, qword [rsp + 0x20]
nop dword [rax]
vmovups zmm0, zmmword [rbp + r11*4 - 0x100]
vmovups zmm1, zmmword [rbp + r11*4 - 0xc0]
vmovups zmm2, zmmword [rbp + r11*4 - 0x80]
vmovups zmm3, zmmword [rbp + r11*4 - 0x40]
vmovups zmmword [r10 + r11*4], zmm3
vmovups zmmword [r10 + r11*4 - 0x40], zmm2
vmovups zmmword [r10 + r11*4 - 0x80], zmm1
vmovups zmmword [r10 + r11*4 - 0xc0], zmm0
add r11, 0xffffffffffffffc0
cmp r9, r11
jne 0x14008efa0
cmp rcx, r8
je 0x14008eeda
add rbp, rdx
jmp 0x14008eec0
sub rbp, r14
sar rbp, 2
mov r13, qword [rsp + 0x50]
cmp rbp, r13
jbe 0x14008f0d9
mov ebx, dword [r14 + r13*4]
mov rcx, r14
vzeroupper
call fcn.1400061e0
cmp ebx, 0xffffffff
je 0x14008f0e9
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
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 0x14008f0e9
test rdi, rdi
je 0x14008f0e9
test r15, r15
je 0x14008f0fe
test rax, rax
je 0x14008f0fe
call rax
movzx r12d, ax
mov rcx, r12
shl rcx, 4
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r14, rax
lea r9, [rsp + 0x38]
mov ecx, ebx
mov rdx, rax
mov r8d, r12d
call r15
test al, al
je 0x14008f13b
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
movzx r8d, word [rsp + 0x38]
mov rax, r13
shr rax, 0x20
je 0x14008f121
mov rax, r13
xor edx, edx
div r8
jmp 0x14008f129
test r14, r14
je 0x14008f0e9
mov rcx, r14
vzeroupper
call fcn.1400061e0
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
lea rdx, [rsp + 0x38]
mov ecx, ebx
call r14
test al, al
je 0x14008f0e9
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rsp + 0x38]
mov rcx, rax
xor r8d, r8d
call rdi
jmp 0x14008f0e9
mov eax, r13d
xor edx, edx
div r8d
shl rdx, 4
mov rax, r14
add rax, rdx
mov rdx, rax
xor r8d, r8d
call rdi
mov rcx, r14
jmp 0x14008eb66
vzeroupper
call fcn.14008f160
vzeroupper
call fcn.140084c90
int3