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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x398]
sub rsp, 0x480
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400fb088]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov rdi, rcx
cmp edx, 2
jae 0x1400152ef
xor eax, eax
jmp 0x140015871
mov ebx, 4
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov eax, dword [rbx + rsi]
cmp dword [0x1401009d8], eax
jle 0x140015338
lea rcx, [0x1401009d8]
call fcn.14006fcf4
cmp dword [0x1401009d8], 0xffffffff
jne 0x140015338
lea rcx, [0x1400bb718]
call fcn.1400700c4
lea rcx, [0x1401009d8]
call fcn.14006fc94
call fcn.14001433c
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp + 0xa0], xmm0
xor r15d, r15d
mov word [rbp + 0x90], r15w
lea rdx, [0x1400cf7dc]
lea rcx, [rbp + 0x90]
call fcn.1400056b0
nop
mov eax, dword [rbx + rsi]
cmp dword [0x140100cc4], eax
jle 0x1400153c6
lea rcx, [0x140100cc4]
call fcn.14006fcf4
cmp dword [0x140100cc4], 0xffffffff
jne 0x1400153c6
xor eax, eax
mov qword [0x140100cc8], rax
mov qword [0x140100cd0], rax
or qword [0x140100cc8], 0xffffffffffffffff
mov dword [0x140100cd0], 0xc0000225
lea rcx, [0x1400bb7b0]
call fcn.1400700c4
lea rcx, [0x140100cc4]
call fcn.14006fc94
lea rdx, [rbp + 0x90]
lea rcx, [0x140100cc8]
call fcn.140029660
mov r14d, eax
lea rcx, [rbp + 0x90]
call fcn.14000564c
test r14d, r14d
jns 0x14001586e
mov edx, r14d
lea rcx, [rbp + 0x150]
call fcn.140028dc0
nop
mov r9d, 0x22
lea r8, str.Failed_to_load_BlackBone_driver:_n_n
mov rcx, rax
call fcn.140017458
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rcx, [rbp + 0x150]
call fcn.14000564c
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp + 0x40], xmm0
mov word [rbp + 0x30], r15w
lea rdx, [0x1400d02b8]
lea rcx, [rbp + 0x30]
call fcn.1400056b0
nop
mov rbx, qword [rdi + 8]
call fcn.140013df8
lea r9, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae r9, qword [rbp + 0x10]
lea r8, [0x1400d94e4]
mov edx, 1
mov rcx, rax
call fcn.140013e60
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae r8, qword [rbp + 0x30]
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rdx, qword [rbp + 0x10]
mov r9d, 0x10
mov rcx, rbx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
lea rcx, [rbp + 0x30]
call fcn.14000564c
cmp r14d, 0xc0000428
jne 0x14001580f
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp + 0xe0], xmm0
mov word [rbp + 0xd0], r15w
lea rdx, str.Question
lea rcx, [rbp + 0xd0]
call fcn.1400056b0
nop
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp + 0xc0], xmm0
mov word [rbp + 0xb0], r15w
lea rdx, str.Would_you_like_to_enable_Driver_Test_signing_mode_to_load_driver_
lea rcx, [rbp + 0xb0]
call fcn.1400056b0
nop
mov r9, qword [rdi + 8]
mov r8d, 3
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0xb0]
call fcn.14001414c
mov ebx, eax
lea rcx, [rbp + 0xb0]
call fcn.14000564c
nop
lea rcx, [rbp + 0xd0]
call fcn.14000564c
cmp ebx, 6
jne 0x14001580f
xor edx, edx
lea r8d, [rbx + 0x62]
lea rcx, [rbp - 0x80]
call fcn.14008e5d0
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov ebx, 0x1fe
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x170]
call fcn.14008e5d0
mov qword [rsp + 0x50], r15
mov edx, ebx
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp + 0x100], xmm0
mov word [rbp + 0xf0], r15w
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0xf0]
call fcn.1400056b0
nop
mov r8d, 0x11
lea rdx, [0x1400d0358]
lea rcx, [rbp + 0xf0]
call fcn.14000a14c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x80], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rcx, [rbp + 0xf0]
call fcn.14000564c
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
lea rcx, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae rcx, qword [rbp + 0x70]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, str._C_Bcdedit.exe__set_TESTSIGNING_ON
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
movdqa xmm0, xmmword [0x1400dbe30]
test eax, eax
je 0x140015742
movdqu xmmword [rbp + 0x140], xmm0
mov word [rbp + 0x130], r15w
lea rdx, [0x1400d03c8]
lea rcx, [rbp + 0x130]
call fcn.1400056b0
nop
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r15w
lea rdx, str.You_must_reboot_your_computer_for_the_changes_to_take_effect
lea rcx, [rbp + 0x110]
call fcn.1400056b0
nop
mov r9, qword [rdi + 8]
mov r8d, 1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x110]
call fcn.14001414c
nop
lea rcx, [rbp + 0x110]
call fcn.14000564c
nop
lea rcx, [rbp + 0x130]
call fcn.14000564c
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400157fa
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r15w
lea rdx, [0x1400d0460]
lea rcx, [rbp + 0x50]
call fcn.1400056b0
nop
movdqa xmm0, xmmword [0x1400dbe30]
movdqu xmmword [rbp], xmm0
mov word [rbp - 0x10], r15w
lea rdx, str.Failed_to_enable_Test_signing._Please_do_it_manually
lea rcx, [rbp - 0x10]
call fcn.1400056b0
nop
mov rbx, qword [rdi + 8]
call fcn.140013df8
lea r9, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae r9, qword [rbp - 0x10]
lea r8, [0x1400d94e4]
mov edx, 1
mov rcx, rax
call fcn.140013e60
lea r8, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae r8, qword [rbp + 0x50]
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rdx, qword [rbp - 0x10]
mov r9d, 0x10
mov rcx, rbx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
lea rcx, [rbp - 0x10]
call fcn.14000564c
nop
lea rcx, [rbp + 0x50]
call fcn.14000564c
mov rax, qword gs:[0x30]
mov r14d, dword [rax + 0x1250]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
nop
lea rcx, [rbp + 0x70]
call fcn.14000564c
mov eax, 4
mov eax, dword [rax + rsi]
cmp dword [0x1401009d8], eax
jle 0x14001584c
lea rcx, [0x1401009d8]
call fcn.14006fcf4
cmp dword [0x1401009d8], 0xffffffff
jne 0x14001584c
lea rcx, [0x1400bb718]
call fcn.1400700c4
lea rcx, [0x1401009d8]
call fcn.14006fc94
call fcn.140014550
lea rcx, [rdi + 0xb0]
mov rax, qword [rcx]
mov edx, dword [rdi + 0xa8]
call qword [rax + 0x50]
nop
lea rcx, [rbp + 0x10]
call fcn.14000564c
mov eax, r14d
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.14006fa50
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret