Function at 0x1400a72a0
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, 0x9a0
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_280], 0xfffffffffffffffe
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_2552], rbx
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + Ordinal_2450], rax
mov r13, r8
mov r14, rdx
mov rdi, rcx
mov qword [rsp + 0x80], rcx
mov rcx, qword [rcx + reloc.MFC80U.DLL_Ordinal_1112]
mov rax, qword [rcx]
mov rdx, qword [rdx + 8]
call qword [rax + 0x48]
mov rcx, rax
mov r8, qword [r14 + 0x18]
mov edx, dword [r14 + 0x10]
call fcn.1400bcd20
mov r15, rax
mov r8, qword [r14 + 0x20]
mov edx, dword [r14 + 0x10]
mov rcx, qword [r14 + 8]
call fcn.1400bcd20
mov r12, rax
mov qword [rsp + 0xc0], rax
mov edx, dword [r14 + 0x10]
mov rcx, qword [r14 + 8]
call fcn.1400bcc40
mov rbx, rax
mov qword [rsp + 0xb0], rax
mov rcx, qword [rdi + reloc.MFC80U.DLL_Ordinal_1112]
mov rax, qword [rcx]
mov rdx, qword [r14 + 8]
call qword [rax + 0x48]
mov rcx, rax
mov edx, dword [r14 + 0x10]
call fcn.1400bcc40
mov qword [rsp + 0x110], rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x48]
cmp eax, 5
je 0x1400a73e1
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x48]
cmp eax, 0xc
je 0x1400a73e1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 0xa
je 0x1400a73e1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 6
je 0x1400a73e1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 7
je 0x1400a73e1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 8
je 0x1400a73e1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 9
je 0x1400a73e1
mov rax, qword [r13]
mov edx, 1
mov rcx, r13
call qword [rax + 0x48]
jmp 0x1400a73ed
mov rax, qword [r13]
xor edx, edx
mov rcx, r13
call qword [rax + 0x48]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xd0]
test eax, eax
je 0x1400a745a
cmp qword [r14 + 0x30], 0xffffffffffffffff
jne 0x1400a745a
call fcn.140049400
mov rbp, rax
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rbx, rax
mov rsi, qword [rbp]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x38]
mov rdi, rax
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x50]
mov r8d, eax
mov r9, rdi
lea rdx, [r14 + 0x30]
mov rcx, rbp
call qword [rsi]
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x78]
test eax, eax
je 0x1400a756a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x80]
mov rax, qword [r13]
mov edx, 8
mov rcx, r13
call qword [rax + 0x40]
call fcn.140049470
mov rbx, rax
xor edx, edx
mov r8d, 0x80
lea rbp, [0x1404342a0]
mov rcx, rbp
call sub.ntdll.dll_memset
mov edx, 0x5c
lea rcx, str...optcore.cpp
call qword [sym.imp.ntdll.dll_strrchr]
mov rdi, rax
test rax, rax
jne 0x1400a74c8
xor ebp, ebp
jmp 0x1400a7550
mov byte [rsp + 0x280], 0
xor eax, eax
mov qword [rsp + 0x281], rax
mov word [rsp + 0x289], ax
mov byte [rsp + 0x28b], al
mov r8d, 0xc8f
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0x280]
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, rbp
sub rcx, rdx
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x1400a7510
mov rdi, rbp
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x280]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x1400a7540
mov rax, qword [rbx]
mov r8, rbp
lea rdx, str._s:_Partition_Overlap_in__SetActive.
mov rcx, rbx
call qword [rax + 0x10]
xor eax, eax
jmp 0x1400a861c
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x38]
test rax, rax
jne 0x1400a75bb
call fcn.140049470
mov rdi, rax
mov rbx, qword [rax]
mov edx, Ordinal_3223
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Invalid_Params.
mov rcx, rdi
call qword [rbx + 0x10]
mov rax, qword [r13]
mov edx, 0x20
mov rcx, r13
call qword [rax + 0x40]
xor eax, eax
jmp 0x1400a861c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x40]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov dword [rsp + 0xb8], eax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x88]
mov qword [rsp + 0xc8], rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x88]
mov qword [rsp + 0x98], rax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x38]
mov qword [rsp + 0x90], rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
mov qword [rsp + 0xa0], rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x48]
mov esi, eax
mov dword [rsp + 0x78], eax
call fcn.140049400
mov qword [rsp + 0x280], rax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x50]
mov word [rsp + 0x70], ax
xor ebp, ebp
mov dword [rsp + 0x88], ebp
mov dword [rsp + 0xa8], ebp
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0x90]
je 0x1400a7e9a
mov qword [rsp + 0xd0], rbp
mov rcx, qword [rdi + reloc.MFC80U.DLL_Ordinal_1112]
mov rax, qword [rcx]
mov rdx, qword [r14 + 8]
call qword [rax + 0x48]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
mov rbx, rax
test rax, rax
je 0x1400a7720
mov r12, qword [rsp + 0x80]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov rdi, rax
test rax, rax
je 0x1400a76f5
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0xc8]
test eax, eax
jne 0x1400a76ed
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov rdi, rax
test rax, rax
jne 0x1400a76c1
jmp 0x1400a76f5
mov qword [rsp + 0xd0], rdi
mov rcx, qword [r12 + reloc.MFC80U.DLL_Ordinal_1112]
mov rax, qword [rcx]
mov rdx, qword [r14 + 8]
call qword [rax + 0x48]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rbx, rax
test rax, rax
jne 0x1400a76a7
mov r12, qword [rsp + 0xc0]
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rbx, rax
test rax, rax
je 0x1400a77a3
mov rsi, qword [rsp + 0x98]
nop
nop
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov rdi, rax
test rax, rax
je 0x1400a778f
nop
nop
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0xc8]
test eax, eax
jne 0x1400a778c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov rdi, rax
test rax, rax
jne 0x1400a7760
jmp 0x1400a778f
mov rsi, rdi
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rbx, rax
test rax, rax
jne 0x1400a7740
jmp 0x1400a77ab
mov rsi, qword [rsp + 0x98]
mov dword [rsp + 0xc0], ebp
test rsi, rsi
je 0x1400a7810
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x50]
mov edi, eax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x90]
cmp edi, dword [r14 + 0x10]
jne 0x1400a7810
cmp rax, qword [r14 + 0x18]
jne 0x1400a7810
cmp qword [r14 + 0x30], 0xffffffffffffffff
je 0x1400a7810
mov r8, r13
mov rdx, r14
mov rcx, qword [rsp + 0x80]
call fcn.1400c4380
mov qword [r14 + 0x30], 0xffffffffffffffff
mov dword [rsp + 0xc0], 1
mov r9, qword [r14 + 0x20]
mov r8, qword [r14 + 0x18]
mov edx, dword [rsp + 0xb8]
mov ecx, dword [r14 + 0x10]
call fcn.1400a5130
test eax, eax
jne 0x1400a7e44
call fcn.1400494c0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
test eax, eax
je 0x1400a7de2
mov rdi, qword [rsp + 0xd0]
test rdi, rdi
je 0x1400a7de2
mov word [rsp + 0x390], bp
xor edx, edx
mov r8d, 0xfe
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_914]
call sub.ntdll.dll_memset
call fcn.1400306a0
mov rbx, rax
call fcn.140028250
mov rsi, rax
xor eax, eax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
test eax, eax
je 0x1400a78fc
mov dword [rsp + 0xe0], 1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.MFC80U.DLL_Ordinal_280]
lea rdx, [rsp + 0xf0]
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 0x1400a791c
mov dword [rsp + 0xe0], ebp
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov dword [rsp + 0xf0], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xb0]
mov edi, eax
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx]
call qword [rax + 0x90]
imul rax, rdi
mov qword [rsp + 0xe8], rax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0xe0]
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 [rsi]
mov r9d, 0x100
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x120]
mov rcx, rsi
call qword [rax + 0xb0]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x30]
mov word [rsp + Ordinal_1173], bp
xor edx, edx
mov r8d, 0xfe
lea rcx, [rsp + 0x492]
call sub.ntdll.dll_memset
mov rax, qword [rsi]
mov r9d, 0x100
lea r8, [rsp + 0x490]
lea rdx, [rsp + 0x390]
mov rcx, rsi
call qword [rax + 0x80]
mov word [rsp + 0x590], bp
xor edx, edx
mov r8d, reloc.MFC80U.DLL_Ordinal_1022
lea rcx, [rsp + 0x592]
call sub.ntdll.dll_memset
lea r8, [rsp + 0x490]
lea rdx, str.___s_boot_bcd
lea rcx, [rsp + 0x590]
call fcn.140002b60
lea rcx, [rsp + 0x590]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400a7a50
lea r8, [rsp + 0x490]
lea rdx, str.___sEFIMicrosoft_boot_bcd
lea rcx, [rsp + 0x590]
call fcn.140002b60
lea rcx, [rsp + 0x290]
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 + 0x2a8]
call sub.ntdll.dll_memset
mov rax, qword [rbx]
lea r8, [rsp + 0x290]
lea rdx, [rsp + 0x590]
mov rcx, rbx
call qword [rax + 0x18]
test al, al
jne 0x1400a7ade
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x290]
call sub.ntdll.dll_memset
mov rax, qword [rbx]
mov r9d, 0x100
lea r8, [rsp + 0x290]
lea rdx, [rsp + 0x390]
mov rcx, rbx
call qword [rax + 0x38]
xor eax, eax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_296], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_320], rax
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
test eax, eax
je 0x1400a7b79
mov byte [rsp + 0x120], bpl
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.MFC80U.DLL_Ordinal_280]
lea rdx, [rsp + 0x138]
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 [r15]
mov rcx, r15
call qword [rax + 0x18]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_296]
mov rcx, qword [rax + reloc.MFC80U.DLL_Ordinal_362]
mov qword [rdx], rcx
mov rax, qword [rax + 0x172]
mov qword [rdx + 8], rax
jmp 0x1400a7bc7
mov byte [rsp + 0x120], 1
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov dword [rsp + 0x130], eax
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xb0]
mov edi, eax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x38]
imul rax, rdi
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_296], rax
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xd0]
test eax, eax
je 0x1400a7d65
mov dword [rsp + 0x160], ebp
xor edx, edx
mov r8d, 0x8c
lea rcx, [rsp + 0x164]
call sub.ntdll.dll_memset
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x120]
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 [rbx]
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xe0]
lea r8, [0x1402e8f58]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0xa8]
test al, al
je 0x1400a7d38
mov dword [rsp + 0x1f0], ebp
xor edx, edx
mov r8d, 0x8c
lea rcx, [rsp + 0x1f4]
call sub.ntdll.dll_memset
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x120]
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 [rbx]
lea r9, [rsp + 0x1f0]
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0xc0]
test al, al
je 0x1400a7d1f
mov rax, qword [rbx]
lea r9, [rsp + reloc.MFC80U.DLL_Ordinal_512]
lea r8, [rsp + 0x170]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0xd0]
mov rax, qword [rbx]
lea r8, [rsp + reloc.MFC80U.DLL_Ordinal_512]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0x80]
mov rax, qword [rbx]
lea r8, [rsp + 0x170]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0x70]
mov rax, qword [rbx]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0x58]
mov rax, qword [rbx]
mov r9b, 1
lea r8, [rsp + 0x170]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0x48]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xc8]
test eax, eax
je 0x1400a7dc7
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x120]
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 [rbx]
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x290]
mov rcx, rbx
call qword [rax + 0xd8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx]
jmp 0x1400a7e44
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xd0]
test eax, eax
jne 0x1400a7e02
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xc8]
test eax, eax
je 0x1400a7e44
call fcn.140049470
mov rdi, rax
mov rbx, qword [rax]
mov edx, Ordinal_3470
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Change_bcd_file_failed.
mov rcx, rdi
call qword [rbx + 0x10]
mov rax, qword [r13]
mov edx, 0x25
mov rcx, r13
call qword [rax + 0x40]
xor eax, eax
jmp 0x1400a861c
cmp dword [rsp + 0xc0], ebp
je 0x1400a7e8e
call fcn.140049400
mov rbx, rax
mov rax, qword [rax]
movzx r8d, word [rsp + 0x70]
mov rdx, qword [r14 + 0x30]
mov rcx, rbx
call qword [rax + 0x28]
mov rax, qword [rbx]
mov r9, qword [rsp + 0x90]
mov r8d, dword [r14 + 0x10]
lea rdx, [r14 + 0x30]
mov rcx, rbx
call qword [rax]
mov esi, dword [rsp + 0x78]
mov rbx, qword [rsp + 0xb0]
jmp 0x1400a7e9a
mov esi, dword [rsp + 0x78]
mov rbx, qword [rsp + 0xb0]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rdx, rax
mov rdi, qword [rsp + 0x80]
mov rcx, rdi
call fcn.1400c1cc0
test eax, eax
je 0x1400a7ec3
mov rcx, rdi
call fcn.1400c1850
mov dword [rsp + 0x20], ebp
mov r9, r13
mov r8, rbx
mov rdx, qword [rsp + 0x110]
mov rcx, rdi
call fcn.1400c0ef0
test eax, eax
jne 0x1400a7f14
call fcn.140049470
mov rdi, rax
mov rbx, qword [rax]
mov edx, Ordinal_3528
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Failed_to_UpdateBootIni_in__Movsize.
mov rcx, rdi
call qword [rbx + 0x10]
xor eax, eax
jmp 0x1400a861c
lea rcx, [rsp + 0x74]
call fcn.14005b260
nop
mov edx, dword [r14 + 0x10]
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, edx
mov r8, qword [r14 + 0x18]
lea rcx, [rsp + 0x74]
call fcn.14005efa0
test eax, eax
jne 0x1400a7f75
call fcn.140049470
mov rdi, rax
mov rbx, qword [rax]
mov edx, reloc.MFC80U.DLL_Ordinal_3533
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Change_registry_failed_on_MountedDevices.
mov rcx, rdi
call qword [rbx + 0x10]
mov rdi, qword [rsp + 0x80]
cmp esi, 1
jne 0x1400a8043
mov dword [rsp + 0x78], ebp
lea rax, [rsp + 0x78]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x58], rax
movzx eax, word [rsp + 0x70]
mov word [rsp + 0x50], ax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r13
mov rdx, r14
mov rcx, rdi
call fcn.1400a56a0
test eax, eax
jne 0x1400a8014
lea rcx, [rsp + 0x74]
call fcn.140050540
xor eax, eax
jmp 0x1400a861c
cmp dword [rsp + 0x78], 0
je 0x1400a8125
mov rax, qword [r13]
mov edx, 0x64
mov rcx, r13
call qword [rax + 0x10]
nop
lea rcx, [rsp + 0x74]
call fcn.140050540
mov eax, 1
jmp 0x1400a861c
cmp esi, 5
je 0x1400a8141
cmp esi, 4
je 0x1400a8141
cmp esi, 0xc
je 0x1400a8141
cmp esi, 0xa
je 0x1400a8141
cmp esi, 6
je 0x1400a8141
cmp esi, 7
je 0x1400a8141
cmp esi, 8
je 0x1400a8141
cmp esi, 9
je 0x1400a8141
cmp esi, 2
je 0x1400a809d
cmp esi, 3
je 0x1400a809d
test esi, esi
jne 0x1400a827b
lea rax, [rsp + 0x88]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x58], rax
mov ax, word [rsp + 0x70]
mov word [rsp + 0x50], ax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r13
mov rdx, r14
mov rcx, rdi
call fcn.1400a64e0
test eax, eax
jne 0x1400a8125
lea rcx, [rsp + 0x74]
call fcn.140050540
xor eax, eax
jmp 0x1400a861c
mov ebp, dword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa0]
jmp 0x1400a828b
mov rax, qword [r13]
mov edx, 0x60
mov rcx, r13
call qword [rax + 0x50]
mov rdi, qword [rsp + 0x280]
mov rax, qword [rdi]
movzx r8d, word [rsp + 0x70]
mov rdx, qword [r14 + 0x30]
mov rcx, rdi
call qword [rax + 0x28]
mov qword [rsp + 0x98], 0xffffffffffffffff
mov rax, qword [rdi]
mov rbx, qword [rsp + 0x90]
mov r9, rbx
mov r8d, dword [r14 + 0x10]
lea rdx, [rsp + 0x98]
mov rcx, rdi
call qword [rax]
xor edx, edx
mov qword [rsp + 0x120], rdx
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_296], rdx
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_320], rdx
mov qword [rsp + 0x148], rdx
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_336], rdx
mov qword [rsp + 0x120], 0xffffffffffffffff
mov eax, dword [r14 + 0x10]
mov dword [rsp + reloc.MFC80U.DLL_Ordinal_296], eax
mov dword [rsp + 0x138], eax
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_320], rsi
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x130], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_336], rbx
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xf0]
mov dword [rsp + 0x148], eax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x160]
call fcn.1400d23d0
nop
mov rax, qword [r13]
xor edx, edx
mov rcx, r13
call qword [rax + 0x48]
mov rdx, r13
lea rcx, [rsp + 0x160]
call fcn.1400d2660
mov ebp, eax
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x160]
call fcn.140050540
jmp 0x1400a828b
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa0]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x38]
mov rdi, rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x48]
mov r8d, eax
mov rdx, rdi
mov ecx, dword [r14 + 0x10]
call fcn.140095e20
test ebp, ebp
jne 0x1400a839a
cmp rsi, rbx
je 0x1400a839a
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rbx, rax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x38]
mov rdi, rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r14 + 0x30]
mov r8, rdi
mov rcx, qword [rsp + 0x80]
call fcn.1400c2190
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 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, [r14 + 0x30]
mov r8, rbx
mov rcx, qword [rsp + 0x80]
call fcn.1400c2190
mov r9, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
mov edx, dword [rsp + 0xb8]
mov ecx, dword [r14 + 0x10]
call fcn.1400a5130
test eax, eax
jne 0x1400a839a
call fcn.140049470
mov rdi, rax
mov rbx, qword [rax]
mov edx, 0xe34
lea rcx, str...optcore.cpp
call fcn.1400a0fc0
mov r8, rax
lea rdx, str._s:_Change_bcd_file_failed_when_restoring.
mov rcx, rdi
call qword [rbx + 0x10]
mov rax, qword [r13]
lea edx, [rbp + 0x25]
mov rcx, r13
call qword [rax + 0x40]
nop
lea rcx, [rsp + 0x74]
call fcn.140050540
xor eax, eax
jmp 0x1400a861c
mov rax, qword [r13]
mov edx, 4
mov rcx, r13
call qword [rax + 0x50]
test ebp, ebp
je 0x1400a8560
mov rax, qword [r13]
xor edx, edx
mov rcx, r13
call qword [rax + 0x10]
call fcn.140049500
mov rdi, qword [rax]
lea rdx, str.0036
mov rcx, rax
call qword [rdi]
mov rdi, qword [r13]
mov rdx, rax
mov rcx, r13
call qword [rdi + 0x70]
call fcn.140049500
mov rdi, qword [rax]
lea rdx, str.1209
mov rcx, rax
call qword [rdi]
mov rdi, rax
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + reloc.MFC80U.DLL_Ordinal_376]
mov rdx, rax
lea rcx, [rsp + 0x120]
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, rdi
lea rcx, [rsp + 0x120]
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_296]
cmp qword [rsp + reloc.MFC80U.DLL_Ordinal_320], 8
cmovae rdx, qword [rsp + reloc.MFC80U.DLL_Ordinal_296]
mov rax, qword [r13]
mov rcx, r13
call qword [rax + Ordinal_369]
nop
lea rcx, [rsp + 0x120]
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 rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0xd0]
test eax, eax
jne 0x1400a8483
mov rdi, qword [rsp + 0xb0]
mov rax, qword [rdi]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [rax + 0x58]
jmp 0x1400a8494
mov rdi, qword [rsp + 0xb0]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x68]
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
mov rcx, rdi
call fcn.1400959c0
test eax, eax
jne 0x1400a84fa
call fcn.140049470
mov rdi, rax
mov rbx, qword [rax]
mov edx, 0xe87
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, rdi
call qword [rbx + 0x10]
mov rax, qword [r13]
mov edx, 0x18
mov rcx, r13
call qword [rax + 0x40]
nop
lea rcx, [rsp + 0x74]
call fcn.140050540
xor eax, eax
jmp 0x1400a861c
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rbx, rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
mov rdi, rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r14 + 0x30]
mov r8, rdi
mov rcx, qword [rsp + 0x80]
call fcn.1400c2190
mov rdx, r13
mov rcx, r14
call fcn.140095bd0
mov rax, qword [r13]
lea rdx, [0x1402ea888]
mov rcx, r13
call qword [rax + 0x70]
mov rax, qword [r13]
mov edx, 0x64
mov rcx, r13
call qword [rax + 0x10]
jmp 0x1400a85cf
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rbx, rax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x38]
mov rdi, rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x50]
mov edx, eax
lea r9, [r14 + 0x30]
mov r8, rdi
mov rbp, qword [rsp + 0x80]
mov rcx, rbp
call fcn.1400c2190
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 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, [r14 + 0x30]
mov r8, rbx
mov rcx, rbp
call fcn.1400c2190
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0xd0]
test eax, eax
je 0x1400a860d
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x30]
mov rbx, rax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x38]
mov rdi, rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x50]
mov ecx, eax
mov rdx, rdi
call fcn.140097130
nop
lea rcx, [rsp + 0x74]
call fcn.140050540
mov eax, 1
mov rcx, qword [rsp + 0x990]
xor rcx, rsp
call fcn.140161080
mov rbx, qword [rsp + reloc.MFC80U.DLL_Ordinal_2552]
add rsp, 0x9a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret