Function at 0x1400b08f0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x980
mov qword [rsp + 0x100], 0xfffffffffffffffe
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_2520], rbx
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + Ordinal_2421], rax
mov r14, r8
mov r15, rdx
mov rbp, rcx
mov qword [rsp + 0xb8], rcx
call fcn.1400494c0
mov rbx, rax
mov r9, qword [rax]
mov rcx, rax
call qword [r9 + 0x20]
test eax, eax
jne 0x1400b096f
mov rcx, rbp
call fcn.1400c4210
test eax, eax
je 0x1400b096f
mov r8, r14
mov rdx, r15
mov rcx, rbp
call fcn.1400a72a0
jmp 0x1400b1e9e
mov rcx, qword [rbp + reloc.MFC80U.DLL_Ordinal_1112]
mov rax, qword [rcx]
mov rdx, qword [r15 + 8]
call qword [rax + 0x48]
mov rcx, rax
mov r8, qword [r15 + 0x18]
mov edx, dword [r15 + 0x10]
call fcn.1400bcd20
mov r12, rax
mov r8, qword [r15 + 0x20]
mov edx, dword [r15 + 0x10]
mov rcx, qword [r15 + 8]
call fcn.1400bcd20
mov r13, rax
mov edx, dword [r15 + 0x10]
mov rcx, qword [r15 + 8]
call fcn.1400bcc40
mov rdi, rax
mov qword [rsp + 0xb0], rax
mov rcx, qword [rbp + reloc.MFC80U.DLL_Ordinal_1112]
mov r8, qword [rcx]
mov rdx, qword [r15 + 8]
call qword [r8 + 0x48]
mov rcx, rax
mov edx, dword [r15 + 0x10]
call fcn.1400bcc40
mov qword [rsp + 0xa0], rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x48]
cmp eax, 5
je 0x1400b0a5e
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x48]
cmp eax, 0xc
je 0x1400b0a5e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 0xa
je 0x1400b0a5e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 6
je 0x1400b0a5e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 7
je 0x1400b0a5e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 8
je 0x1400b0a5e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 9
je 0x1400b0a5e
mov rax, qword [r14]
mov edx, 1
mov rcx, r14
call qword [rax + 0x48]
jmp 0x1400b0a69
mov rax, qword [r14]
xor edx, edx
mov rcx, r14
call qword [rax + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
test eax, eax
jne 0x1400b0abd
call fcn.1400494c0
mov rbx, rax
mov rcx, rbp
call fcn.1400c4210
test eax, eax
je 0x1400b0abd
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0xd0]
test eax, eax
je 0x1400b0abd
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x20]
test eax, eax
jne 0x1400b0abd
mov rax, qword [r14]
mov edx, 0x31
mov rcx, r14
call qword [rax + 0x40]
xor eax, eax
jmp 0x1400b1e9e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xd0]
test eax, eax
je 0x1400b0b2f
cmp qword [r15 + 0x30], 0xffffffffffffffff
jne 0x1400b0b2f
call fcn.140049400
mov rbp, rax
mov r8, qword [r12]
mov rcx, r12
call qword [r8 + 0x30]
mov rdi, rax
mov rsi, qword [rbp]
mov r8, qword [r12]
mov rcx, r12
call qword [r8 + 0x38]
mov rbx, rax
mov r8, qword [rdi]
mov rcx, rdi
call qword [r8 + 0x50]
mov r8d, eax
mov r9, rbx
lea rdx, [r15 + 0x30]
mov rcx, rbp
call qword [rsi]
mov rbp, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x78]
test eax, eax
je 0x1400b0b8c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x80]
mov r11, qword [r14]
mov edx, 8
mov rcx, r14
call qword [r11 + 0x40]
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, reloc.MFC80U.DLL_Ordinal_2446
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Partition_Overlap_in__SetActive.
mov rcx, rbx
call qword [rdi + 0x10]
xor eax, eax
jmp 0x1400b1e9e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x38]
test rax, rax
jne 0x1400b0bdd
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, Ordinal_2454
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Invalid_Params.
mov rcx, rbx
call qword [rdi + 0x10]
mov r11, qword [r14]
mov edx, 0x20
mov rcx, r14
call qword [r11 + 0x40]
xor eax, eax
jmp 0x1400b1e9e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x40]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov dword [rsp + 0x98], eax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x88]
mov qword [rsp + 0xa8], rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x88]
mov qword [rsp + 0xc0], rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
mov rdi, rax
mov qword [rsp + 0xc8], rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rsi, rax
mov qword [rsp + 0x90], rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x48]
mov dword [rsp + 0x84], eax
call fcn.140049400
mov qword [rsp + 0xb8], rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x50]
movzx ebx, ax
mov word [rsp + 0x74], ax
xor eax, eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x78], eax
cmp rsi, rdi
je 0x1400b1507
xor ebx, ebx
mov qword [rsp + 0x88], rbx
mov rcx, qword [rbp + reloc.MFC80U.DLL_Ordinal_1112]
mov r8, qword [rcx]
mov rdx, qword [r15 + 8]
call qword [r8 + 0x48]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
mov rdi, rax
test rax, rax
je 0x1400b0d36
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov rbx, rax
test rax, rax
je 0x1400b0d14
nop
nop
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0xc8]
test eax, eax
jne 0x1400b0d0c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov rbx, rax
test rax, rax
jne 0x1400b0ce0
jmp 0x1400b0d14
mov qword [rsp + 0x88], rbx
mov rcx, qword [rbp + reloc.MFC80U.DLL_Ordinal_1112]
mov rax, qword [rcx]
mov rdx, qword [r15 + 8]
call qword [rax + 0x48]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rdi, rax
test rax, rax
jne 0x1400b0cc1
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, rax
test rax, rax
je 0x1400b0db3
mov rsi, qword [rsp + 0xa0]
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov rbx, rax
test rax, rax
je 0x1400b0d9f
nop
nop
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0xc8]
test eax, eax
jne 0x1400b0d9c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov rbx, rax
test rax, rax
jne 0x1400b0d70
jmp 0x1400b0d9f
mov rsi, rbx
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, rax
test rax, rax
jne 0x1400b0d50
jmp 0x1400b0dbb
mov rsi, qword [rsp + 0xa0]
mov dword [rsp + 0x7c], 0
test rsi, rsi
je 0x1400b0e19
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x50]
mov ebx, eax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x90]
cmp ebx, dword [r15 + 0x10]
jne 0x1400b0e19
cmp rax, qword [r15 + 0x18]
jne 0x1400b0e19
cmp qword [r15 + 0x30], 0xffffffffffffffff
je 0x1400b0e19
mov r8, r14
mov rdx, r15
mov rcx, rbp
call fcn.1400c4380
mov qword [r15 + 0x30], 0xffffffffffffffff
mov dword [rsp + 0x7c], 1
mov r9, qword [r15 + 0x20]
mov r8, qword [r15 + 0x18]
mov edx, dword [rsp + 0x98]
mov ecx, dword [r15 + 0x10]
call fcn.1400a5130
test eax, eax
jne 0x1400b149d
call fcn.1400494c0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
test eax, eax
je 0x1400b0e5d
mov rsi, qword [rsp + 0x88]
test rsi, rsi
jne 0x1400b0e83
jmp 0x1400b1439
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x1400b1439
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xc8]
test eax, eax
je 0x1400b1439
mov word [rsp + Ordinal_1137], 0
xor edx, edx
mov r8d, 0xfe
lea rcx, [rsp + 0x472]
call sub.ntdll.dll_memset
call fcn.1400306a0
mov rdi, rax
call fcn.140028250
mov qword [rsp + 0x88], rax
xor eax, eax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
test eax, eax
je 0x1400b0f2f
mov dword [rsp + 0xd0], 1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.MFC80U.DLL_Ordinal_280]
lea rdx, [rsp + 0xe0]
mov ecx, dword [rax]
mov dword [rdx], ecx
mov ecx, dword [rax + 4]
mov dword [rdx + 4], ecx
mov ecx, dword [rax + 8]
mov dword [rdx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdx + 0xc], eax
jmp 0x1400b0f53
mov dword [rsp + 0xd0], 0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xb0]
mov ebx, eax
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x90]
imul rax, rbx
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0xd0]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rbx, qword [rsp + 0x88]
mov rax, qword [rbx]
mov r9d, 0x100
lea r8, [rsp + 0x470]
lea rdx, [rsp + 0x110]
mov rcx, rbx
call qword [rax + 0xb0]
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 0x30]
mov word [rsp + 0x370], 0
xor edx, edx
mov r8d, 0xfe
lea rcx, [rsp + 0x372]
call sub.ntdll.dll_memset
mov r11, qword [rbx]
mov r9d, 0x100
lea r8, [rsp + 0x370]
lea rdx, [rsp + 0x470]
mov rcx, rbx
call qword [r11 + 0x80]
mov word [rsp + 0x570], 0
xor edx, edx
mov r8d, reloc.MFC80U.DLL_Ordinal_1022
lea rcx, [rsp + 0x572]
call sub.ntdll.dll_memset
lea r8, [rsp + 0x370]
lea rdx, str.___s_boot_bcd
lea rcx, [rsp + 0x570]
call fcn.140002b60
lea rcx, [rsp + 0x570]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400b1090
lea r8, [rsp + 0x370]
lea rdx, str.___sEFIMicrosoft_boot_bcd
lea rcx, [rsp + 0x570]
call fcn.140002b60
lea rcx, [rsp + 0x270]
mov rax, qword [str.BCD00000000]
mov qword [rcx], rax
mov rax, qword [0x1403b66b8]
mov qword [rcx + 8], rax
mov rax, qword [0x1403b66c0]
mov qword [rcx + 0x10], rax
xor edx, edx
mov r8d, 0xe8
lea rcx, [rsp + 0x288]
call sub.ntdll.dll_memset
mov r11, qword [rdi]
lea r8, [rsp + 0x270]
lea rdx, [rsp + 0x570]
mov rcx, rdi
call qword [r11 + 0x18]
test al, al
jne 0x1400b1120
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x270]
call sub.ntdll.dll_memset
mov r11, qword [rdi]
mov r9d, 0x100
lea r8, [rsp + 0x270]
lea rdx, [rsp + 0x470]
mov rcx, rdi
call qword [r11 + 0x38]
xor eax, eax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_280], rax
mov qword [rsp + 0x120], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_296], rax
mov qword [rsp + 0x130], rax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
test eax, eax
je 0x1400b11be
mov byte [rsp + 0x110], 0
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.MFC80U.DLL_Ordinal_280]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_296]
mov ecx, dword [rax]
mov dword [rdx], ecx
mov ecx, dword [rax + 4]
mov dword [rdx + 4], ecx
mov ecx, dword [rax + 8]
mov dword [rdx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdx + 0xc], eax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x18]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_280]
mov rcx, qword [rax + reloc.MFC80U.DLL_Ordinal_362]
mov qword [rdx], rcx
mov rax, qword [rax + 0x172]
mov qword [rdx + 8], rax
jmp 0x1400b1216
mov byte [rsp + 0x110], 1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov dword [rsp + 0x120], eax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xb0]
mov ebx, eax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x38]
imul rax, rbx
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_280], rax
mov rbx, qword [rsp + 0x88]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xd0]
test eax, eax
je 0x1400b13b9
xor esi, esi
mov dword [rsp + reloc.MFC80U.DLL_Ordinal_336], esi
xor edx, edx
mov r8d, 0x8c
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_340]
call sub.ntdll.dll_memset
lea r11, [rsp + 0xd0]
lea rcx, [rsp + 0x110]
mov rax, qword [rcx]
mov qword [r11], rax
mov rax, qword [rcx + 8]
mov qword [r11 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r11 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r11 + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [r11 + 0x20], rax
mov rax, qword [rdi]
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_336]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xd0]
lea r8, [0x1402e8f58]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [rax + 0xa8]
test al, al
je 0x1400b138b
mov dword [rsp + 0x1e0], esi
xor edx, edx
mov r8d, 0x8c
lea rcx, [rsp + 0x1e4]
call sub.ntdll.dll_memset
lea r11, [rsp + 0xd0]
lea rcx, [rsp + 0x110]
mov rax, qword [rcx]
mov qword [r11], rax
mov rax, qword [rcx + 8]
mov qword [r11 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r11 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r11 + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [r11 + 0x20], rax
mov rax, qword [rdi]
lea r9, [rsp + 0x1e0]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [rax + 0xc0]
test al, al
je 0x1400b1372
mov rax, qword [rdi]
lea r9, [rsp + 0x1f0]
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [rax + 0xd0]
mov r11, qword [rdi]
lea r8, [rsp + 0x1f0]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [r11 + 0x80]
mov rax, qword [rdi]
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [rax + 0x70]
mov rax, qword [rdi]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [rax + 0x58]
mov r11, qword [rdi]
mov r9b, 1
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [r11 + 0x48]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xc8]
test eax, eax
je 0x1400b141c
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x110]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov rax, qword [rdi]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x270]
mov rcx, rdi
call qword [rax + 0xd8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11]
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11]
jmp 0x1400b149d
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xd0]
test eax, eax
jne 0x1400b145b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xc8]
test eax, eax
je 0x1400b149d
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, 0xa8f
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Change_bcd_file_failed.
mov rcx, rbx
call qword [rdi + 0x10]
mov r11, qword [r14]
mov edx, 0x25
mov rcx, r14
call qword [r11 + 0x40]
xor eax, eax
jmp 0x1400b1e9e
cmp dword [rsp + 0x7c], 0
je 0x1400b14f2
call fcn.140049400
mov rdi, rax
lea rbx, [r15 + 0x30]
mov r9, qword [rax]
movzx r8d, word [rsp + 0x74]
mov rdx, qword [rbx]
mov rcx, rax
call qword [r9 + 0x28]
mov r11, qword [rdi]
mov r9, qword [rsp + 0xc8]
mov r8d, dword [r15 + 0x10]
mov rdx, rbx
mov rcx, rdi
call qword [r11]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x90]
mov bx, word [rsp + 0x74]
jmp 0x1400b1507
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x90]
mov bx, word [rsp + 0x74]
mov eax, dword [rsp + 0x84]
cmp eax, 1
jne 0x1400b15b0
mov dword [rsp + 0x7c], 0
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov word [rsp + 0x50], bx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r14
mov rdx, r15
mov rcx, rbp
call fcn.1400a56a0
test eax, eax
je 0x1400b1e9e
cmp dword [rsp + 0x7c], 0
je 0x1400b16cd
mov r8, qword [r14]
mov edx, 0x64
mov rcx, r14
call qword [r8 + 0x10]
mov eax, 1
jmp 0x1400b1e9e
cmp eax, 5
je 0x1400b16dd
cmp eax, 0xc
je 0x1400b16dd
cmp eax, 0xa
je 0x1400b16dd
cmp eax, 6
je 0x1400b16dd
cmp eax, 7
je 0x1400b16dd
cmp eax, 8
je 0x1400b16dd
cmp eax, 9
je 0x1400b16dd
cmp eax, 2
je 0x1400b166a
cmp eax, 3
je 0x1400b166a
test eax, eax
je 0x1400b166a
cmp eax, 4
jne 0x1400b1809
lea rax, [rsp + 0x80]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov word [rsp + 0x50], bx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r14
mov rdx, r15
mov rcx, rbp
call fcn.1400a6ef0
test eax, eax
jne 0x1400b16cd
jmp 0x1400b1e9e
lea rax, [rsp + 0x80]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov word [rsp + 0x50], bx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r14
mov rdx, r15
mov rcx, rbp
call fcn.1400a64e0
test eax, eax
je 0x1400b1e9e
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x70], eax
jmp 0x1400b1809
mov rax, qword [r14]
mov edx, 0x60
mov rcx, r14
call qword [rax + 0x50]
mov r10, qword [rsp + 0xb8]
mov r11, qword [r10]
movzx r8d, bx
mov rdx, qword [r15 + 0x30]
mov rbx, r10
mov rcx, rbx
call qword [r11 + 0x28]
mov qword [rsp + 0x90], 0xffffffffffffffff
mov rax, qword [rbx]
mov r9, rdi
mov r8d, dword [r15 + 0x10]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call qword [rax]
xor r11d, r11d
mov qword [rsp + 0x110], r11
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_280], r11
mov qword [rsp + 0x120], r11
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_296], r11
mov qword [rsp + 0x130], r11
mov qword [rsp + 0x138], r11
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_320], r11
mov qword [rsp + 0x110], 0xffffffffffffffff
mov eax, dword [r15 + 0x10]
mov dword [rsp + reloc.MFC80U.DLL_Ordinal_280], eax
mov dword [rsp + reloc.MFC80U.DLL_Ordinal_296], eax
mov qword [rsp + 0x130], rsi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x120], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_320], rdi
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xf0]
mov dword [rsp + 0x138], eax
lea rdx, [rsp + 0x110]
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_336]
call fcn.1400d23d0
nop
mov rax, qword [r14]
xor edx, edx
mov rcx, r14
call qword [rax + 0x48]
mov rdx, r14
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_336]
call fcn.1400d2660
mov dword [rsp + 0x70], eax
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_336]
call fcn.140050540
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rbx, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x48]
mov r8d, eax
mov rdx, rbx
mov ecx, dword [r15 + 0x10]
call fcn.140095e20
cmp dword [rsp + 0x70], 0
jne 0x1400b190a
cmp rsi, rdi
je 0x1400b190a
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x30]
mov rdi, rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
mov rbx, rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r15 + 0x30]
mov r8, rbx
mov rcx, rbp
call fcn.1400c2190
mov r11, qword [r13]
mov rcx, r13
call qword [r11 + 0x30]
mov rbx, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rdi, rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r15 + 0x30]
mov r8, rdi
mov rcx, rbp
call fcn.1400c2190
mov r9, qword [r15 + 0x18]
mov r8, qword [r15 + 0x20]
mov edx, dword [rsp + 0x98]
mov ecx, dword [r15 + 0x10]
call fcn.1400a5130
test eax, eax
jne 0x1400b190a
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, 0xb3b
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Change_bcd_file_failed_when_restoring.
mov rcx, rbx
call qword [rdi + 0x10]
mov r11, qword [r14]
mov edx, 0x25
mov rcx, r14
call qword [r11 + 0x40]
xor eax, eax
jmp 0x1400b1e9e
mov rax, qword [r14]
mov edx, 4
mov rcx, r14
call qword [rax + 0x50]
cmp dword [rsp + 0x70], 0
je 0x1400b1df2
mov rax, qword [r14]
xor edx, edx
mov rcx, r14
call qword [rax + 0x10]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 0x30]
mov rdi, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x50]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x50]
cmp eax, ebx
jne 0x1400b1a81
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
test eax, eax
je 0x1400b1a81
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0xb0]
cmp dword [rax + 0x78], 0
jne 0x1400b1a81
call fcn.140049550
mov rsi, rax
mov dword [rsp + 0x78], 0
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x30]
mov rbx, qword [rsi]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x50]
mov edx, eax
mov rcx, rsi
call qword [rbx]
test eax, eax
je 0x1400b1a81
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
mov dword [rsp + 0x84], eax
xor edi, edi
test eax, eax
je 0x1400b1a81
mov eax, edi
test eax, eax
jne 0x1400b1a81
mov r8, qword [rsi]
mov edx, edi
mov rcx, rsi
call qword [r8 + 0x10]
mov rbx, rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
cmp qword [rbx + 8], rax
jne 0x1400b1a6d
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0xb0]
mov ecx, dword [rbx + 0x78]
mov dword [rax + 0x78], ecx
mov ecx, dword [rbx + 0x7c]
mov dword [rax + 0x7c], ecx
mov ecx, dword [rbx + 0x80]
mov dword [rax + 0x80], ecx
mov ecx, dword [rbx + 0x84]
mov dword [rax + 0x84], ecx
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xb0]
mov ecx, dword [rbx + 0x68]
mov dword [rax + 0x68], ecx
mov ecx, dword [rbx + 0x6c]
mov dword [rax + 0x6c], ecx
mov ecx, dword [rbx + 0x70]
mov dword [rax + 0x70], ecx
mov ecx, dword [rbx + 0x74]
mov dword [rax + 0x74], ecx
mov eax, 1
mov dword [rsp + 0x78], eax
jmp 0x1400b1a71
mov eax, dword [rsp + 0x78]
add edi, 1
cmp edi, dword [rsp + 0x84]
jb 0x1400b19e5
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov r8, r12
xor edx, edx
call qword [rax + 0x58]
test eax, eax
jne 0x1400b1b0e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x30]
mov rdi, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rbx, rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r15 + 0x30]
mov r8, rbx
mov rcx, rbp
call fcn.1400c2190
mov r11, qword [r14]
mov edx, 6
mov rcx, r14
call qword [r11 + 0x40]
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, Ordinal_2923
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Failed_to_UpdatePartTable_in__Movsize.
mov rcx, rbx
call qword [rdi + 0x10]
xor eax, eax
jmp 0x1400b1e9e
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140049500
mov r8, qword [rax]
lea rdx, str.0036
mov rcx, rax
call qword [r8]
mov r8, qword [r14]
mov rdx, rax
mov rcx, r14
call qword [r8 + 0x70]
call fcn.140049500
mov r8, qword [rax]
lea rdx, str.1209
mov rcx, rax
call qword [r8]
mov rbx, rax
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + reloc.MFC80U.DLL_Ordinal_376]
mov rdx, rax
lea rcx, [rsp + 0x110]
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
mov rdx, rbx
lea rcx, [rsp + 0x110]
call qword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const____ptr64____ptr64]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_280]
cmp qword [rsp + 0x130], 8
cmovae rdx, qword [rsp + reloc.MFC80U.DLL_Ordinal_280]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + Ordinal_369]
nop
lea rcx, [rsp + 0x110]
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
mov r11, qword [r13]
mov rcx, r13
call qword [r11 + 0x30]
mov rdi, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rbx, rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r15 + 0x30]
mov r8, rbx
mov rcx, rbp
call fcn.1400c2190
mov r11, qword [r13]
mov rcx, r13
call qword [r11 + 0x38]
mov rbx, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x50]
movzx edx, ax
mov qword [rsp + 0x20], r14
mov r9, rbx
mov r8d, dword [r15 + 0x10]
mov rcx, rbp
call fcn.1400c13a0
test eax, eax
jne 0x1400b1c7b
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, 0xb99
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Failed_to_AttachDriveLetter_in__Movsize.
mov rcx, rbx
call qword [rdi + 0x10]
mov rcx, rbp
call fcn.1400c1850
xor esi, esi
mov dword [rsp + 0x20], esi
mov r9, r14
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa0]
mov rcx, rbp
call fcn.1400c0ef0
xor eax, eax
jmp 0x1400b1e9e
mov rax, qword [r14]
mov edx, 0x32
mov rcx, r14
call qword [rax + 0x10]
mov r11, qword [r13]
mov rcx, r13
call qword [r11 + 0x30]
mov rdx, rax
mov rcx, rbp
call fcn.1400c1cc0
test eax, eax
je 0x1400b1cab
mov rcx, rbp
call fcn.1400c1850
xor esi, esi
mov dword [rsp + 0x20], esi
mov r9, r14
mov rsi, qword [rsp + 0xb0]
mov r8, rsi
mov rdx, qword [rsp + 0xa0]
mov rcx, rbp
call fcn.1400c0ef0
test eax, eax
jne 0x1400b1d06
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, 0xba9
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Failed_to_UpdateBootIni_in__Movsize.
mov rcx, rbx
call qword [rdi + 0x10]
xor eax, eax
jmp 0x1400b1e9e
lea rcx, [rsp + 0x70]
call fcn.14005b260
nop
mov edx, dword [r15 + 0x10]
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, edx
mov r8, qword [r15 + 0x18]
lea rcx, [rsp + 0x70]
call fcn.14005efa0
test eax, eax
jne 0x1400b1d5f
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, 0xbb0
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Change_registry_failed_on_MountedDevices.
mov rcx, rbx
call qword [rdi + 0x10]
xor edx, edx
mov rcx, rsi
call fcn.1400959c0
test eax, eax
jne 0x1400b1dba
call fcn.140049470
mov rbx, rax
mov rdi, qword [rax]
mov edx, 0xbb6
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Failed_to_Update_mount_point_for_PartMgr_in__Movsize.
mov rcx, rbx
call qword [rdi + 0x10]
mov r11, qword [r14]
mov edx, 0x18
mov rcx, r14
call qword [r11 + 0x40]
nop
lea rcx, [rsp + 0x70]
call fcn.140050540
xor eax, eax
jmp 0x1400b1e9e
mov rdx, r14
mov rcx, r15
call fcn.140095bd0
mov r11, qword [r14]
lea rdx, [0x1402ea888]
mov rcx, r14
call qword [r11 + 0x70]
mov r11, qword [r14]
mov edx, 0x64
mov rcx, r14
call qword [r11 + 0x10]
nop
lea rcx, [rsp + 0x70]
call fcn.140050540
jmp 0x1400b1e5b
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x30]
mov rdi, rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
mov rbx, rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r15 + 0x30]
mov r8, rbx
mov rcx, rbp
call fcn.1400c2190
mov r11, qword [r13]
mov rcx, r13
call qword [r11 + 0x30]
mov rbx, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rdi, rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r15 + 0x30]
mov r8, rdi
mov rcx, rbp
call fcn.1400c2190
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0xd0]
test eax, eax
je 0x1400b1e99
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x30]
mov rdi, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov rbx, rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x50]
mov ecx, eax
mov rdx, rbx
call fcn.140097130
mov eax, 1
mov rcx, qword [rsp + 0x970]
xor rcx, rsp
call fcn.140161080
mov rbx, qword [rsp + reloc.MFC80U.DLL_Ordinal_2520]
add rsp, 0x980
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret