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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b5dc1
mov eax, dword fs:[0]
push eax
sub esp, 0x698
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x6a4]
mov ecx, 0x1a6
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x639704]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp + 8], 2
jae 0x45f452
xor eax, eax
jmp 0x45f84e
call fcn.0040ac6d
mov ecx, eax
call fcn.0040b3bb
call fcn.0040a8f8
mov dword [ebp - 0x6a0], eax
push 0x5e0578
lea ecx, [ebp - 0x548]
call fcn.004023fb
mov dword [ebp - 4], 0
lea eax, [ebp - 0x548]
push eax
mov ecx, dword [ebp - 0x6a0]
call fcn.00405231
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x548]
call fcn.00409881
cmp dword [ebp - 0x24], 0
jge 0x45f84b
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x56c]
push ecx
call fcn.004036f2
add esp, 8
mov dword [ebp - 0x6a0], eax
mov edx, dword [ebp - 0x6a0]
mov dword [ebp - 0x6a4], edx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x6a4]
push eax
push str.Failed_to_load_BlackBone_driver:_n_n
lea ecx, [ebp - 0x48]
push ecx
call fcn.0040b3cf
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x56c]
call fcn.00409881
push str.Error
lea ecx, [ebp - 0x590]
call fcn.004023fb
mov byte [ebp - 4], 4
lea eax, [ebp - 0x590]
push eax
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
call fcn.0040811b
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x590]
call fcn.00409881
cmp dword [ebp - 0x24], 0xc0000428
jne 0x45f7f9
push str.Question
lea ecx, [ebp - 0x5c0]
call fcn.004023fb
mov byte [ebp - 4], 5
push str.Would_you_like_to_enable_Driver_Test_signing_mode_to_load_driver_
lea ecx, [ebp - 0x5e4]
call fcn.004023fb
mov byte [ebp - 4], 6
lea eax, [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0x5e4]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
call fcn.0040a65f
add esp, 0xc
mov byte [ebp - 0x599], al
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5e4]
call fcn.00409881
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5c0]
call fcn.00409881
movzx ecx, byte [ebp - 0x599]
test ecx, ecx
je 0x45f7f9
push 0x44
push 0
lea eax, [ebp - 0x94]
push eax
call sub.VCRUNTIME140D.dll_memset
add esp, 0xc
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
push 0x1fe
push 0
lea eax, [ebp - 0x2b4]
push eax
call sub.VCRUNTIME140D.dll_memset
add esp, 0xc
mov dword [ebp - 0x2c0], 0
mov esi, esp
push 0x1fe
lea eax, [ebp - 0x2b4]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp esi, esp
call fcn.00407923
push str._system32cmd.exe
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x608]
call fcn.004023fb
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x6a0]
mov dword [ebp - 0x6a4], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x6a4]
push edx
lea eax, [ebp - 0x2e4]
push eax
call fcn.00402892
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x608]
call fcn.00409881
mov esi, esp
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
cmp esi, esp
call fcn.00407923
mov esi, esp
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push str._C_Bcdedit.exe__set_TESTSIGNING_ON
lea ecx, [ebp - 0x2e4]
call fcn.004083d7
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp esi, esp
call fcn.00407923
test eax, eax
je 0x45f769
push str.Warning
lea ecx, [ebp - 0x62c]
call fcn.004023fb
mov byte [ebp - 4], 0xa
push str.You_must_reboot_your_computer_for_the_changes_to_take_effect
lea ecx, [ebp - 0x650]
call fcn.004023fb
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x62c]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
call fcn.00402c7a
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x650]
call fcn.00409881
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x62c]
call fcn.00409881
mov esi, esp
mov eax, dword [ebp - 0xac]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.00407923
mov esi, esp
mov eax, dword [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.00407923
jmp 0x45f7d4
push str.Error
lea ecx, [ebp - 0x674]
call fcn.004023fb
mov byte [ebp - 4], 0xc
push str.Failed_to_enable_Test_signing._Please_do_it_manually
lea ecx, [ebp - 0x698]
call fcn.004023fb
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x674]
push eax
lea ecx, [ebp - 0x698]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
push eax
call fcn.0040811b
add esp, 0xc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x698]
call fcn.00409881
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x674]
call fcn.00409881
call fcn.0040ae0c
mov dword [ebp - 0x24], eax
mov esi, esp
mov eax, dword [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
cmp esi, esp
call fcn.00407923
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e4]
call fcn.00409881
call fcn.0040ac6d
mov ecx, eax
call fcn.00402f59
mov eax, dword [ebp - 0x18]
add eax, 0x70
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x6a4], eax
mov esi, esp
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x6c]
push edx
mov ecx, dword [ebp - 0x6a0]
call dword [ebp - 0x6a4]
cmp esi, esp
call fcn.00407923
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00409881
mov eax, dword [ebp - 0x24]
push edx
mov ecx, ebp
push eax
lea edx, [0x45f88c]
call fcn.00407e46
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00406c44
add esp, 0x6a4
cmp ebp, esp
call fcn.00407923
mov esp, ebp
pop ebp
ret 4