Function at 0x140001804
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140047030]
xor rax, rsp
mov qword [rbp - 0x10], rax
xorps xmm0, xmm0
mov r12d, edx
movups xmmword [rbp - 0x58], xmm0
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
lea rdx, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_GetThreadGroupAffinity]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
xor r13d, r13d
movzx r15d, ax
mov ebx, r13d
test r15d, r15d
je 0x1400018c6
movzx ecx, bx
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
mov r14d, eax
mov esi, r13d
test eax, eax
je 0x1400018bf
mov ecx, esi
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov edx, 1
mov word [rbp - 0x40], bx
shl rdx, cl
mov qword [rbp - 0x48], rdx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r8d, r8d
lea rdx, [rbp - 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadGroupAffinity]
mov rcx, qword [rdi]
mov edx, 5
call fcn.1400367b0
test eax, eax
jne 0x140001c7d
inc esi
cmp esi, r14d
jb 0x140001874
inc ebx
cmp ebx, r15d
jb 0x140001861
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r8d, r8d
lea rdx, [rbp - 0x58]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadGroupAffinity]
mov rcx, qword [rdi]
lea r8, [rbp - 0x38]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x18], rax
movups xmmword [rbp - 0x28], xmm0
lea edx, [rax + 9]
call fcn.1400367b3
mov rdx, qword [rbp - 0x38]
lea r15, [rdi + 0x10]
test eax, eax
lea rcx, str.___CurentCr3:__p_n
cmovne rdx, r13
mov qword [r15], rdx
call fcn.1400013f8
mov rcx, rdi
call fcn.140001f70
test al, al
je 0x140001c7d
mov rdx, qword [rdi + 8]
lea rcx, str.___KernelCr3:__p_n
call fcn.1400013f8
mov rax, qword [rdi + 8]
lea r8, [rbp - 0x38]
mov rcx, qword [rdi + 0x28]
xorps xmm0, xmm0
mov qword [rbp - 0x38], rax
xor eax, eax
mov qword [rbp - 0x30], rcx
mov rcx, qword [rdi]
movups xmmword [rbp - 0x28], xmm0
lea edx, [rax + 0xa]
mov qword [rbp - 0x18], rax
call fcn.1400367b3
mov rdx, qword [rbp - 0x28]
test eax, eax
cmovne rdx, r13
mov qword [rdi + 0x20], rdx
test rdx, rdx
je 0x140001c7d
lea rcx, str.___NtShutdownSystemPa:__p_n
call fcn.1400013f8
mov rax, qword gs:[0x58]
mov rbx, qword [rdi + 0x48]
mov ecx, 4
mov qword [rbp - 0x60], r13
mov rsi, qword [rax]
mov eax, dword [rcx + rsi]
cmp dword [0x1400488cc], eax
jg 0x140001ca6
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov r9d, 0xe
mov dword [rbp - 0x58], 0x25ff
mov rcx, rdi
mov word [rbp - 0x54], r13w
mov qword [rbp - 0x52], rbx
call fcn.140001e6c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.140001ebc
mov rcx, r12
lea rdx, [rbp - 0x60]
call qword [0x1400488b8]
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov rcx, rdi
call fcn.140001ebc
mov rbx, qword [rbp - 0x60]
test rbx, rbx
je 0x140001c7d
mov r14, qword [rdi + 0x58]
lea r12, [0x1400488c8]
mov eax, 4
mov eax, dword [rax + rsi]
cmp dword [0x1400488c8], eax
jg 0x140001cf4
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov r9d, 0xe
mov dword [rbp - 0x58], 0x25ff
mov rcx, rdi
mov word [rbp - 0x54], r13w
mov qword [rbp - 0x52], r14
call fcn.140001e6c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.140001ebc
mov rax, qword [0x1400488c0]
mov rcx, rbx
call rax
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov rcx, rdi
mov rbx, rax
call fcn.140001ebc
mov r14, qword [rdi + 0x60]
mov qword [rdi + 0x30], rbx
mov rbx, qword [rbp - 0x60]
mov eax, 4
mov eax, dword [rax + rsi]
cmp dword [0x1400488c8], eax
jg 0x140001d3a
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov r9d, 0xe
mov dword [rbp - 0x58], 0x25ff
mov rcx, rdi
mov word [rbp - 0x54], r13w
mov qword [rbp - 0x52], r14
call fcn.140001e6c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.140001ebc
mov rax, qword [0x1400488c0]
mov rcx, rbx
call rax
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov rcx, rdi
mov rbx, rax
call fcn.140001ebc
mov r8, qword [rbp - 0x60]
lea rdx, [rdi + 0x18]
add r8, 0x28
mov qword [rdi + 0x38], rbx
mov rcx, rdi
call fcn.1400015c0
mov rbx, qword [rbp - 0x60]
mov r14, qword [rdi + 0x50]
mov r12d, 4
mov eax, dword [r12 + rsi]
cmp dword [0x1400488a8], eax
jg 0x140001d80
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov r9d, 0xe
mov dword [rbp - 0x58], 0x25ff
mov rcx, rdi
mov word [rbp - 0x54], r13w
mov qword [rbp - 0x52], r14
call fcn.140001e6c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.140001ebc
mov rcx, rbx
call qword [0x1400488d0]
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov rcx, rdi
call fcn.140001ebc
cmp qword [r15], r13
jne 0x140001c79
mov qword [rbp - 0x60], r13
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r14, qword [rdi + 0x48]
mov ebx, eax
mov eax, dword [r12 + rsi]
cmp dword [0x1400488cc], eax
jg 0x140001dce
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov r9d, 0xe
mov dword [rbp - 0x58], 0x25ff
mov rcx, rdi
mov word [rbp - 0x54], r13w
mov qword [rbp - 0x52], r14
call fcn.140001e6c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.140001ebc
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [0x1400488b8]
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov rcx, rdi
call fcn.140001ebc
mov r8, qword [rbp - 0x60]
test r8, r8
je 0x140001c7d
add r8, 0x28
mov rdx, r15
mov rcx, rdi
call fcn.1400015c0
mov eax, dword [r12 + rsi]
cmp dword [0x1400488a8], eax
mov rbx, qword [rbp - 0x60]
mov r14, qword [rdi + 0x50]
jg 0x140001e1c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov r9d, 0xe
mov dword [rbp - 0x58], 0x25ff
mov rcx, rdi
mov word [rbp - 0x54], r13w
mov qword [rbp - 0x52], r14
call fcn.140001e6c
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.140001ebc
mov rcx, rbx
call qword [0x1400488d0]
mov rdx, qword [rdi + 0x20]
lea r8, [rbp - 0x48]
mov rcx, rdi
call fcn.140001ebc
mov al, 1
jmp 0x140001c7f
xor al, al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400368b0
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1400488cc]
call fcn.140036a28
cmp dword [0x1400488cc], 0xffffffff
jne 0x1400019b0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtShutdownSystem
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1400488cc]
mov qword [0x1400488b8], rax
call fcn.1400369c8
jmp 0x1400019b0
mov rcx, r12
call fcn.140036a28
cmp dword [0x1400488c8], 0xffffffff
jne 0x140001a2f
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtShutdownSystem
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
mov qword [0x1400488c0], rax
call fcn.1400369c8
jmp 0x140001a2f
mov rcx, r12
call fcn.140036a28
cmp dword [0x1400488c8], 0xffffffff
jne 0x140001aa4
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtShutdownSystem
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
mov qword [0x1400488c0], rax
call fcn.1400369c8
jmp 0x140001aa4
lea rcx, [0x1400488a8]
call fcn.140036a28
cmp dword [0x1400488a8], 0xffffffff
jne 0x140001b2f
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtShutdownSystem
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1400488a8]
mov qword [0x1400488d0], rax
call fcn.1400369c8
jmp 0x140001b2f
lea rcx, [0x1400488cc]
call fcn.140036a28
cmp dword [0x1400488cc], 0xffffffff
jne 0x140001ba7
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtShutdownSystem
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1400488cc]
mov qword [0x1400488b8], rax
call fcn.1400369c8
jmp 0x140001ba7
lea rcx, [0x1400488a8]
call fcn.140036a28
cmp dword [0x1400488a8], 0xffffffff
jne 0x140001c2a
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtShutdownSystem
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1400488a8]
mov qword [0x1400488d0], rax
call fcn.1400369c8
jmp 0x140001c2a