Function at 0x14001ca84
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r13
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x240
mov qword [0x140041c88], rcx
call fcn.14000206c
lea rcx, [rbp + 0x30]
call fcn.140007af4
lea rcx, [rbp - 0x80]
call fcn.140007af4
lea rcx, [rbp - 0x10]
call fcn.140007af4
lea rcx, [rbp - 0x40]
call fcn.140007af4
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140007b2c
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.14000704c
mov rcx, qword [rbp - 0x50]
call fcn.140021420
lea rcx, [rbp - 0x20]
call fcn.140007af4
lea rcx, [rbp - 0x20]
call fcn.140008f48
lea rcx, [rbp - 0x80]
call fcn.1400081a4
lea rcx, [rbp - 0x80]
call fcn.140008144
xor r13d, r13d
mov dil, r13b
lea rcx, [rbp - 0x80]
call fcn.140007570
lea ebx, [r13 + 1]
test al, al
je 0x14001cb63
mov dil, bl
mov rdx, qword [rbp - 0x80]
add rdx, 4
lea rcx, [rbp - 0x80]
call fcn.140007c30
lea rcx, [rbp - 0x80]
call fcn.1400081a4
lea rcx, [rbp - 0x80]
call fcn.140008144
lea rcx, [rbp - 0x30]
call fcn.140007738
lea r9, [rbp - 0x30]
mov rcx, qword [rbp - 0x20]
call fcn.14001c7ec
test al, al
jne 0x14001cb97
test dil, dil
jne 0x14001d26e
lea rdx, str.Cant_load_config_info
call fcn.14001af3c
jmp 0x14001d26e
lea rdx, [0x1400367c0]
lea rcx, [rbp - 0x50]
call fcn.140007b84
lea rcx, [rbp - 0x70]
call fcn.140007af4
mov r15b, bl
cmp dword [rbp - 0x28], r13d
je 0x14001cd78
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r13
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.140008600
test al, al
jne 0x14001cbf3
test dil, dil
jne 0x14001ccc0
lea rdx, str.Config_failed
call fcn.14001af3c
jmp 0x14001ccc0
lea r8, str.Title
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14000894c
lea r8, str.BeginPrompt
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.14000894c
lea r8, [0x140036800]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.14000894c
lea rdx, [0x14003680c]
mov rcx, qword [rsp + 0x70]
call fcn.1400075e8
mov r15b, al
xor r15b, bl
lea rdx, str.Directory
lea rcx, [rsp + 0x50]
call fcn.140008908
test eax, eax
js 0x14001cc78
mov edx, eax
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax + rdx*8]
add rdx, 0x10
lea rcx, [rbp - 0x50]
call fcn.140007ccc
mov rsi, qword [rsp + 0x60]
cmp dword [rbp - 0x58], r13d
je 0x14001cccf
test dil, dil
jne 0x14001cccf
mov r9d, 0x24
mov r8, rsi
mov rdx, qword [rbp - 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x14001cccf
mov ebx, r13d
mov rcx, qword [rsp + 0x70]
call fcn.140021420
mov rcx, qword [rbp - 0x60]
call fcn.140021420
mov rcx, rsi
call fcn.140021420
lea rcx, [rsp + 0x50]
call fcn.140018854
jmp 0x14001d25c
lea r8, str.RunProgram
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14000894c
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140007ccc
mov rcx, qword [rsp + 0x60]
call fcn.140021420
lea r8, str.ExecuteFile
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14000894c
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.140007ccc
mov rcx, qword [rsp + 0x60]
call fcn.140021420
lea r8, str.ExecuteParameters
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14000894c
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.140007ccc
mov rcx, qword [rsp + 0x60]
call fcn.140021420
mov rcx, qword [rsp + 0x70]
call fcn.140021420
mov rcx, qword [rbp - 0x60]
call fcn.140021420
mov rcx, rsi
call fcn.140021420
lea rcx, [rsp + 0x50]
call fcn.140018854
mov byte [rbp + 0x18], r13b
lea rcx, [rbp + 0x20]
call fcn.140007af4
lea rcx, [rbp + 0x18]
call fcn.140009900
test al, al
jne 0x14001cdac
test dil, dil
jne 0x14001d249
lea rdx, str.Cannot_create_temp_folder_archive
call fcn.14001af3c
jmp 0x14001d249
mov ecx, 0x28
call fcn.140021578
mov rsi, rax
mov dword [rax + 8], r13d
lea rax, vtable.CCodecs.0
mov qword [rsi], rax
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r13
mov word [rsi + 0x20], r13w
mov rcx, rsi
mov rax, qword [method.CLimitedSequentialInStream.virtual_8]
call qword [case.0x14000d2be.0]
mov rcx, rsi
call fcn.1400185ac
test eax, eax
je 0x14001ce01
lea rdx, str.Cannot_load_codecs
call fcn.14001af3c
jmp 0x14001d238
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.140007bf4
mov byte [rbp + 0x160], r13b
lea rcx, [rsp + 0x50]
call fcn.140007af4
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x20], rax
mov r9b, r15b
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.14001c340
test eax, eax
je 0x14001cef2
test dil, dil
jne 0x14001ce69
cmp eax, ebx
je 0x14001ce7b
cmp byte [rbp + 0x160], r13b
jne 0x14001ce7b
cmp eax, 0x80004004
jne 0x14001ce8f
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140021420
jmp 0x14001d22e
lea rdx, [rsp + 0x50]
mov ecx, 8
call fcn.14000b578
mov eax, 0x80004005
cmp dword [rsp + 0x58], r13d
jne 0x14001cebb
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.14000901c
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.140007ccc
mov rcx, qword [rsp + 0x60]
call fcn.140021420
mov edx, 7
lea rcx, [rsp + 0x60]
call fcn.14000b418
mov r9d, 0x10
mov r8, qword [rax]
mov rdi, qword [rsp + 0x50]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, qword [rsp + 0x60]
call fcn.140021420
jmp 0x14001ce6e
mov rcx, qword [rsp + 0x50]
call fcn.140021420
lea rcx, [rbp]
call fcn.140007af4
mov byte [rbp + 0x10], bl
lea rcx, [rbp]
call fcn.140009660
mov rcx, qword [rbp - 0x60]
call fcn.14000964c
test al, al
je 0x14001d1d7
cmp dword [rbp - 8], r13d
je 0x14001cff1
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x70]
call fcn.140008498
mov dword [rbp + 0x60], 0x70
mov dword [rbp + 0x64], 0x140
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x70], r13
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x78], rax
cmp dword [rbp - 0x78], r13d
je 0x14001cf78
lea rcx, [rbp - 0x40]
call fcn.140007f68
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.140007fdc
xor r8d, r8d
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x50]
call fcn.140008498
mov eax, dword [rsp + 0x58]
neg eax
sbb rcx, rcx
and rcx, qword [rsp + 0x50]
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], r13
mov dword [rbp + 0x90], ebx
mov qword [rbp + 0xc8], r13
lea rcx, [rbp + 0x60]
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [rbp + 0x98], 0x20
ja 0x14001cfe0
test dil, dil
jne 0x14001cfd6
lea rdx, str.Cannot_open_file
call fcn.14001af3c
mov rcx, qword [rsp + 0x50]
jmp 0x14001d187
mov rbx, qword [rbp + 0xc8]
mov rcx, qword [rsp + 0x50]
jmp 0x14001d1ab
cmp dword [rbp - 0x68], r13d
jne 0x14001d02e
lea rdx, str.setup.exe
lea rcx, [rbp - 0x70]
call fcn.140007c30
mov rcx, qword [rbp - 0x70]
call fcn.14000a254
test al, al
jne 0x14001d02e
test dil, dil
jne 0x14001d1d7
lea rdx, str.Cannot_find_setup.exe
call fcn.14001af3c
jmp 0x14001d1d7
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x70]
call fcn.140007bf4
lea rcx, [rsp + 0x70]
call fcn.14000a908
lea rdx, str.__T_
lea rcx, [rsp + 0x50]
call fcn.140007b2c
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.140008240
mov rcx, qword [rsp + 0x50]
call fcn.140021420
mov rcx, qword [rsp + 0x70]
call fcn.140021420
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.140007bf4
lea rdx, [0x140036950]
lea rcx, [rsp + 0x50]
call fcn.140007b2c
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.140008240
mov rcx, qword [rsp + 0x50]
call fcn.140021420
cmp dword [rbp - 0x78], r13d
je 0x14001d0d5
lea rcx, [rbp - 0x70]
call fcn.140007f28
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x70]
call fcn.140007fdc
mov dword [rbp + 0xd0], 0x68
mov qword [rbp + 0xd8], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
mov dword [rbp + 0x10c], r13d
mov word [rbp + 0x112], r13w
mov qword [rbp + 0x118], r13
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.140007a80
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140008498
mov rcx, qword [rsp + 0x50]
call fcn.140021420
lea rax, [rbp + 0x40]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x14001d198
test dil, dil
jne 0x14001d182
lea rcx, [rsp + 0x70]
call fcn.14001ca08
mov rcx, qword [rsp + 0x60]
call fcn.140021420
mov rcx, qword [rsp + 0x70]
call fcn.140021420
jmp 0x14001d1d7
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rbp + 0x40]
mov rcx, qword [rsp + 0x60]
call fcn.140021420
mov rcx, qword [rsp + 0x70]
call fcn.140021420
test rbx, rbx
je 0x14001d1d4
or edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, r13d
mov rdi, qword [rbp]
cmp byte [rbp + 0x10], r13b
je 0x14001d225
lea rcx, [rsp + 0x50]
call fcn.140007af4
lea rcx, [rsp + 0x50]
call fcn.140009660
test al, al
je 0x14001d21b
mov eax, dword [rbp + 8]
cmp dword [rsp + 0x58], eax
jne 0x14001d213
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
call fcn.14001d5e8
test eax, eax
je 0x14001d21b
mov rcx, rdi
call fcn.14000964c
mov rcx, qword [rsp + 0x50]
call fcn.140021420
mov rcx, rdi
call fcn.140021420
nop
mov rcx, qword [rbp - 0x60]
call fcn.140021420
nop
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [case.0x14000d2be.0]
nop
lea rcx, [rbp + 0x18]
call fcn.140009988
mov rcx, qword [rbp + 0x20]
call fcn.140021420
nop
mov rcx, qword [rbp - 0x70]
call fcn.140021420
mov rcx, qword [rbp - 0x50]
call fcn.140021420
mov rcx, qword [rbp - 0x30]
call fcn.140021420
mov rcx, qword [rbp - 0x20]
call fcn.140021420
mov rcx, qword [rbp - 0x40]
call fcn.140021420
mov rcx, qword [rbp - 0x10]
call fcn.140021420
mov rcx, qword [rbp - 0x80]
call fcn.140021420
mov rcx, qword [rbp + 0x30]
call fcn.140021420
mov eax, ebx
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r13
pop rbp
ret