Function at 0x66201114
Capabilities:
Accept command line arguments
Set environment variable

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x640]
mov eax, 0x740
call fcn.6620e380
sub rsp, rax
mov qword [rsp + 0x60], 0xfffffffffffffffe
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
xor r8d, r8d
mov rdx, rax
lea rcx, str.boot_loader.exe
call fcn.662031f0
lea rcx, [rbp + 0x230]
call fcn.662035e0
nop
mov r8, rbx
lea rdx, [rbp + 0x230]
mov rcx, qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call fcn.66206670
test al, al
jne 0x6620118d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
xor edx, edx
call fcn.662010a4
int3
lea rcx, [rbp + 0x3d0]
call fcn.662035e0
nop
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x4a0]
call fcn.66203360
lea rdx, [rbp + 0x3d0]
mov rcx, rax
call fcn.662017c8
or rdi, 0xffffffffffffffff
test al, al
je 0x66201292
lea rcx, [rbp + 0x230]
call fcn.66203c70
mov rdx, rax
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.66203540
nop
mov rbx, qword [rsp + 0x78]
lea rcx, [0x6621e5e8]
call fcn.6620da24
sub rbx, rax
mov r8, rbx
lea rdx, [rbp + 0x4a0]
lea rcx, [rsp + 0x70]
call fcn.66204910
nop
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.66204670
nop
lea rcx, [rbp + 0x4a0]
call fcn.66203630
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov r9, rdi
lea r8, [0x6621e5f0]
mov dl, 1
lea rcx, [rsp + 0x70]
call fcn.66203710
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov r9, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov dl, 1
lea rcx, [rbp + 0x3d0]
call fcn.66203710
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x4a0]
call fcn.66203360
mov rcx, rax
call fcn.6620233c
nop
lea rcx, [rsp + 0x70]
call fcn.66203630
lea rcx, [rbp + 0x40]
call fcn.66205020
nop
and qword [rsp + 0x20], 0
mov ebx, 0xa0100000
mov r9d, ebx
mov r8b, 1
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x40]
call fcn.66206040
test eax, eax
jns 0x662012df
mov rbx, qword [rbp + 0x40]
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov ecx, eax
mov r8, rbx
lea rdx, str._ls_is_corrupted_or_inaccessible.
call fcn.662010a4
int3
lea rcx, [rbp + 0x570]
call fcn.662035e0
nop
lea rdx, str.UpgradePath
mov rcx, qword [rbp + 0x200]
call fcn.66204f00
mov rdx, rax
mov r8, rdi
lea rcx, [rbp + 0x570]
call fcn.662046d0
lea rcx, [rbp + 0x300]
call fcn.662035e0
nop
lea rcx, [rbp + 0x300]
call fcn.66201738
test al, al
jne 0x66201353
xor edx, edx
lea rcx, [rbp + 0x300]
call fcn.662041f0
lea r8, [rbp + 0x570]
mov rdx, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x40]
call fcn.66201524
cmp qword [rbp + 0x308], 0
je 0x662013aa
lea rcx, [rbp + 0x40]
call fcn.662051d0
mov rax, qword [rbp + 0x300]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8b, 1
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x40]
call fcn.66206040
test eax, eax
jns 0x662013aa
mov rbx, qword [rbp + 0x40]
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov ecx, eax
mov r8, rbx
lea rdx, str._ls_is_corrupted_or_inaccessible.
call fcn.662010a4
int3
mov rdx, qword [rbp + 0x40]
lea rcx, str.TS_ORIGIN
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
and qword [rsp + 0x50], 0
lea rax, [rbp + 0x678]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x680]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x688]
mov qword [rsp + 0x38], rax
lea rax, str.Nt0RunFirstProcess
mov qword [rsp + 0x30], rax
and dword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0x40]
call fcn.66205aa0
test eax, eax
jns 0x66201424
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov ecx, eax
xor edx, edx
call fcn.662010a4
int3
mov dword [rbp + 0x670], 0xfffffffc
mov rbx, qword [rbp + 0x1f8]
mov rdi, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x1f0]
mov r14, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rcx, [rbp + 0x670]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
mov r9, rsi
mov r8, r14
mov rdx, qword [rbp + 0x678]
mov rcx, qword [rbp + 0x680]
call qword [rbp + 0x688]
test eax, eax
jns 0x66201498
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov ecx, eax
xor edx, edx
call fcn.662010a4
int3
mov ebx, dword [rbp + 0x670]
lea rcx, [rbp + 0x300]
call fcn.66203630
nop
lea rcx, [rbp + 0x570]
call fcn.66203630
nop
lea rcx, [rbp + 0x40]
call fcn.662050a0
nop
lea rcx, [rbp + 0x3d0]
call fcn.66203630
nop
lea rcx, [rbp + 0x230]
call fcn.66203630
mov eax, ebx
add rsp, 0x740
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret