Function at 0x14001b870
Capabilities:
Create pipe
Create process on windows
Get common file path
Manipulate boot configuration
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x680]
sub rsp, 0x780
mov rax, qword [0x140040010]
xor rax, rsp
mov qword [rbp + 0x670], rax
xor r13d, r13d
mov dword [rsp + 0x68], 0x18
mov r14d, 1
mov dword [rsp + 0x78], r14d
mov qword [rsp + 0x70], r13
mov edx, 0x104
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x14001b925
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.Failed_to_retrieve_Windows_directory_path___Services::IsMachineAllowingSelfSignedDrivers:__d_n
mov edx, 2
call fcn.1400129d0
xor eax, eax
mov rcx, qword [rbp + 0x670]
xor rcx, rsp
call fcn.14001f020
lea r11, [rsp + 0x780]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r8d, 0x104
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameA]
test eax, eax
jne 0x14001b952
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.Failed_to_retrieve_volume_path_name___Services::IsMachineAllowingSelfSignedDrivers:__d_n
jmp 0x14001b8e9
xor r9d, r9d
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x14001b983
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.CreatePipe_failed___Services::IsMachineAllowingSelfSignedDrivers:__d_n
jmp 0x14001b8e9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x80], 0x68
mov dword [rbp - 0x44], pe_nt_image_headers64
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x28], rax
movups xmmword [rbp + 0x28], xmm0
mov ecx, 0x20
call fcn.14001f040
mov r15, rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x38], 0x1c
mov qword [rbp + 0x40], 0x1f
movups xmm0, xmmword [str.WindowsSystem32_bcdedit.exe]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140032738]
movsd qword [rax + 0x10], xmm0
mov eax, dword [0x140032740]
mov dword [r15 + 0x18], eax
mov byte [r15 + 0x1c], r13b
lea rax, [rbp + 0x50]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x14001ba10
movabs rax, 0x7fffffffffffffe3
cmp rbx, rax
ja 0x14001bd3b
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
lea r12, [rbx + 0x1c]
mov edi, send
lea rsi, [rbp + 8]
cmp r12, rdi
jbe 0x14001bad4
mov rax, r12
or rax, rdi
movabs rdi, 0x7fffffffffffffff
cmp rax, rdi
jbe 0x14001ba93
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14001f040
test rax, rax
je 0x14001bd09
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14001bad0
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14001babe
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001bd41
jmp 0x14001ba74
test rcx, rcx
je 0x14001bacd
call fcn.14001f040
mov rsi, rax
jmp 0x14001bad0
mov rsi, r13
mov qword [rbp + 8], rsi
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], rdi
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [r15]
movups xmmword [rsi + rbx], xmm0
movsd xmm1, qword [r15 + 0x10]
movsd qword [rsi + rbx + 0x10], xmm1
mov eax, dword [r15 + 0x18]
mov dword [rsi + rbx + 0x18], eax
mov byte [rsi + r12], 0
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, qword [rbp + 8]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x14001bb7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.CreateProcess_failed___Services::IsDebugModeEnabled:__d_n
mov edx, 2
call fcn.1400129d0
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
jmp 0x14001bbe1
mov edx, 0xffffffff
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x50]
mov r8d, 0x3ff
lea rdx, [rbp + 0x270]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14001bc46
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.ReadFile_failed___Services::IsDebugModeEnabled:__d_n
mov edx, 2
call fcn.1400129d0
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x14001bc23
inc rdx
mov rcx, qword [rbp + 8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14001bc1e
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001bd09
call fcn.14001f07c
movdqa xmm0, xmmword [0x140033a40]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov edx, 0x20
mov rcx, r15
call fcn.14001f07c
jmp 0x14001b8f3
mov eax, dword [rsp + 0x50]
cmp rax, 0x400
jae 0x14001bd47
mov byte [rbp + rax + 0x270], 0
lea rdx, str.debug
lea rcx, [rbp + 0x270]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x14001bc90
lea rdx, [0x1400327f4]
lea rcx, [rbp + 0x270]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x14001bccb
lea rdx, str.The_boot_configuration_data_store_could_not_be_opened
lea rcx, [rbp + 0x270]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x14001bcb7
lea r8, str.Failed_to_run_bcdedit___IsDebugModeEnabled._Please_make_sure_program_is_run_as_administrator_n
mov edx, 2
jmp 0x14001bcc3
lea r8, str.Debug_mode_was_found_enabled
mov edx, 3
call fcn.140012820
mov r14d, r13d
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x14001bd15
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001bd10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001bd10
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001f07c
movdqa xmm0, xmmword [0x140033a40]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov edx, 0x20
mov rcx, r15
call fcn.14001f07c
mov eax, r14d
jmp 0x14001b8f5
call fcn.140010460
int3
call fcn.1400103c0
nop
call fcn.14001f410
int3