Function at 0x140004968
Capabilities:
Accept command line arguments

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x380
lea rdi, [rsp + 0x20]
mov ecx, 0xd8
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x390]
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov dword [rsp + 0x35c], 0
mov qword [rsp + 0x248], 0
mov dword [rsp + 0x254], 0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rsp + 0x254]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x248], rax
cmp qword [rsp + 0x248], 0
je 0x140004a57
lea rdx, [0x14002f570]
lea rcx, [rsp + 0x268]
call fcn.140002564
or dword [rsp + 0x35c], 1
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x248]
lea rax, [rcx + rax*8]
lea r8, [rsp + 0x268]
mov rdx, rax
mov rcx, qword [rsp + 0x248]
call fcn.140003998
movzx eax, al
test eax, eax
je 0x140004a57
mov dword [rsp + 0x360], 1
jmp 0x140004a62
mov dword [rsp + 0x360], 0
mov al, byte [rsp + 0x360]
mov byte [rsp + 0x358], al
mov eax, dword [rsp + 0x35c]
and eax, 1
test eax, eax
je 0x140004a93
and dword [rsp + 0x35c], 0xfffffffe
lea rcx, [rsp + 0x268]
call fcn.140002884
movzx eax, byte [rsp + 0x358]
test eax, eax
je 0x140004bea
lea rdx, str.StageRedirection
lea rcx, [rsp + 0x290]
call fcn.140002564
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x248]
lea rax, [rcx + rax*8]
lea r8, [rsp + 0x290]
mov rdx, rax
mov rcx, qword [rsp + 0x248]
call fcn.140003b10
mov qword [rsp + 0x288], rax
lea rcx, [rsp + 0x290]
call fcn.140002884
cmp qword [rsp + 0x288], 0
je 0x140004b29
lea rdx, [0x14002f5bc]
mov rcx, qword [rsp + 0x288]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x140004b29
mov dword [rsp + 0x364], 0
jmp 0x140004b34
mov dword [rsp + 0x364], 1
mov al, byte [rsp + 0x364]
mov byte [rsp + 0x2b0], al
lea rdx, [0x14002f5c0]
lea rcx, [rsp + 0x2c0]
call fcn.140002564
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x248]
lea rax, [rcx + rax*8]
lea r8, [rsp + 0x2c0]
mov rdx, rax
mov rcx, qword [rsp + 0x248]
call fcn.140003b10
mov qword [rsp + 0x2b8], rax
lea rcx, [rsp + 0x2c0]
call fcn.140002884
cmp qword [rsp + 0x2b8], 0
jne 0x140004bb1
lea rax, [0x14002f5d0]
mov qword [rsp + 0x2b8], rax
call fcn.140003d84
movzx eax, byte [rsp + 0x2b0]
test eax, eax
je 0x140004bd1
mov rcx, qword [rsp + 0x2b8]
call fcn.140004468
jmp 0x140004bde
mov rcx, qword [rsp + 0x2b8]
call fcn.140004064
mov cl, 1
call fcn.140014a1c
jmp 0x140004db3
cmp qword [rsp + 0x248], 0
je 0x140004c51
lea rdx, str.FixInstallFolderPermissions
lea rcx, [rsp + 0x2e0]
call fcn.140002564
or dword [rsp + 0x35c], 2
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x248]
lea rax, [rcx + rax*8]
lea r8, [rsp + 0x2e0]
mov rdx, rax
mov rcx, qword [rsp + 0x248]
call fcn.140003998
movzx eax, al
test eax, eax
je 0x140004c51
mov dword [rsp + 0x368], 1
jmp 0x140004c5c
mov dword [rsp + 0x368], 0
mov al, byte [rsp + 0x368]
mov byte [rsp + 0x359], al
mov eax, dword [rsp + 0x35c]
and eax, 2
test eax, eax
je 0x140004c8d
and dword [rsp + 0x35c], 0xfffffffd
lea rcx, [rsp + 0x2e0]
call fcn.140002884
movzx eax, byte [rsp + 0x359]
test eax, eax
je 0x140004d92
lea rdx, [0x14002f618]
lea rcx, [rsp + 0x308]
call fcn.140002564
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x248]
lea rax, [rcx + rax*8]
lea r8, [rsp + 0x308]
mov rdx, rax
mov rcx, qword [rsp + 0x248]
call fcn.140003b10
mov qword [rsp + 0x300], rax
lea rcx, [rsp + 0x308]
call fcn.140002884
cmp qword [rsp + 0x300], 0
jne 0x140004d0c
lea rax, [0x14002f620]
mov qword [rsp + 0x300], rax
lea rdx, [0x14002f628]
lea rcx, [rsp + 0x330]
call fcn.140002564
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x248]
lea rax, [rcx + rax*8]
lea r8, [rsp + 0x330]
mov rdx, rax
mov rcx, qword [rsp + 0x248]
call fcn.140003b10
mov qword [rsp + 0x328], rax
lea rcx, [rsp + 0x330]
call fcn.140002884
cmp qword [rsp + 0x328], 0
jne 0x140004d7b
lea rax, [0x14002f630]
mov qword [rsp + 0x328], rax
mov rdx, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x300]
call fcn.140003dd4
jmp 0x140004db3
mov r8d, 0x104
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140004db3
lea rcx, [rsp + 0x30]
call fcn.140002d78
xor eax, eax
mov edi, eax
mov rcx, rsp
lea rdx, [0x140034290]
call fcn.140015a64
mov eax, edi
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.140015b70
add rsp, 0x380
pop rdi
ret