Function at 0x140001000
Capabilities:
Accept command line arguments
Create pipe
Create process on windows
Read file on windows
Write and execute a file
Write file on windows
Write pipe

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x10c0]
mov eax, 0x11c0
call fcn.140002180
sub rsp, rax
mov rax, qword [0x140018008]
xor rax, rsp
mov qword [rbp + 0x10a0], rax
xorps xmm0, xmm0
mov qword [rbp + 0x78], 0xf
movabs rax, 0x6578652e35415447
mov qword [rbp + 0x70], 8
mov qword [rbp + 0x60], rax
xor eax, eax
mov dword [rbp - 0xc], eax
mov qword [rsp + 0x78], rax
mov byte [rbp + 0x68], 0
movups xmmword [rbp - 0x6c], xmm0
mov dword [rbp - 0x70], 0x68
movups xmmword [rbp - 0x5c], xmm0
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rbp - 0x1c], xmm0
movups xmmword [rsp + 0x68], xmm0
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov r9, rax
movzx eax, byte [rax]
cmp al, 0x22
jne 0x1400010b1
movzx eax, byte [r9 + 1]
inc r9
test al, al
je 0x1400010c9
nop dword [rax]
inc r9
cmp al, 0x22
je 0x1400010c9
movzx eax, byte [r9]
test al, al
jne 0x1400010a0
jmp 0x1400010c9
test al, al
je 0x1400010c9
cmp al, 0x20
je 0x1400010c9
cmp al, 9
je 0x1400010c9
movzx eax, byte [r9 + 1]
inc r9
test al, al
jne 0x1400010b5
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r9 + rdi], 0
jne 0x1400010d0
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x11e0], rbx
cmp rdi, rax
ja 0x140001125
cmp rdx, 0x10
lea rax, [rcx + rdi]
lea rbx, [rbp + 0x60]
mov qword [rbp + 0x70], rax
cmovae rbx, qword [rbp + 0x60]
mov r8, rdi
add rbx, rcx
mov rdx, r9
mov rcx, rbx
call fcn.1400031d0
lea rax, [rbp + 0x60]
mov byte [rbx + rdi], 0
jmp 0x140001139
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp + 0x60]
call fcn.140001840
cmp qword [rax + 0x18], 0x10
jb 0x140001143
mov rax, qword [rax]
xor esi, esi
mov qword [rsp + 0x11e8], r12
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x11f0], r13
mov qword [rsp + 0x48], rcx
xor r9d, r9d
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x11b8], r14
mov qword [rsp + 0x40], rcx
xor r8d, r8d
mov qword [rsp + 0x38], rsi
mov rdx, rax
mov qword [rsp + 0x30], rsi
xor ecx, ecx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x11b0], r15
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov qword [rsp + 0x38], rsi
lea edx, [rsi + 3]
mov dword [rsp + 0x30], esi
lea r8d, [rsi + 7]
mov dword [rsp + 0x28], 0x1000
lea rcx, str..pipeGTAVLauncher_Pipe
mov r9d, 0xff
mov dword [rsp + 0x20], 0x1000
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov rcx, qword [rsp + 0x68]
lea edx, [rsi + 0x64]
mov rdi, rax
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x140001777
movzx ebx, byte [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
lea r9, [rsp + 0x54]
mov dword [rsp + 0x54], esi
mov r8d, 0x1000
mov qword [rsp + 0x20], rsi
lea rdx, [rbp + 0xa0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000175c
cmp dword [rsp + 0x54], 0
je 0x14000175c
mov r8d, dword [rbp + 0xa0]
lea rdx, [rbp + 0xa4]
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], 0
call fcn.140001d90
mov r13, qword [rbp + 0x90]
lea r15, [rbp + 0x80]
mov r12, qword [rbp + 0x80]
mov r14d, 5
cmp r13, r14
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
cmovb r14, r13
cmp qword [rbp + 0x98], 0x10
cmovae r15, r12
cmp r14, 0xf
ja 0x1400012d4
mov r8, r14
mov qword [rbp + 0x10], r14
mov rdx, r15
lea rcx, [rbp]
call fcn.1400031d0
mov byte [rbp + r14], 0
mov rdi, qword [rbp + 0x18]
mov r14, qword [rbp + 0x10]
mov rsi, qword [rbp]
jmp 0x140001374
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x140001806
mov rdi, r14
or rdi, 0xf
cmp rdi, rax
jbe 0x140001302
mov rdi, rax
movabs rax, 0x8000000000000027
jmp 0x140001329
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140001348
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001812
mov rcx, rax
call fcn.1400020b0
test rax, rax
je 0x140001836
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140001355
test rcx, rcx
je 0x140001355
call fcn.1400020b0
mov rsi, rax
mov r8, r14
mov qword [rbp + 0x10], r14
mov rdx, r15
mov qword [rbp + 0x18], rdi
mov rcx, rsi
call fcn.1400031d0
mov byte [rsi + r14], 0
mov qword [rbp], rsi
cmp rdi, 0x10
lea rax, [rbp]
cmovae rax, rsi
cmp r14, 5
jne 0x140001399
cmp dword [rax], 0x54494e49
jne 0x140001399
cmp byte [rax + 4], 0x3a
jne 0x140001399
mov r14b, 1
jmp 0x14000139c
xor r14b, r14b
cmp rdi, 0x10
jb 0x1400013d3
lea rdx, [rdi + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400013cb
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001836
mov rcx, rsi
call fcn.1400020ec
test r14b, r14b
je 0x140001716
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
cmp r13, 5
jb 0x140001830
lea rax, [r13 - 5]
mov r14, 0xffffffffffffffff
cmp rax, r14
lea r15, [rbp + 0x80]
cmovb r14, rax
cmp qword [rbp + 0x98], 0x10
cmovae r15, r12
cmp r14, 0xf
ja 0x14000143c
mov r8, r14
mov qword [rbp + 0x50], r14
lea rdx, [r15 + 5]
lea rcx, [rbp + 0x40]
call fcn.1400031d0
mov byte [rbp + r14 + 0x40], 0
jmp 0x1400014e1
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x14000182a
mov rdi, r14
or rdi, 0xf
cmp rdi, rax
jbe 0x14000146a
mov rdi, rax
movabs rax, 0x8000000000000027
jmp 0x140001491
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400014b0
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001818
mov rcx, rax
call fcn.1400020b0
test rax, rax
je 0x140001824
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400014c1
test rcx, rcx
je 0x1400014bf
call fcn.1400020b0
mov rsi, rax
jmp 0x1400014c1
xor esi, esi
mov r8, r14
mov qword [rbp + 0x50], r14
lea rdx, [r15 + 5]
mov qword [rbp + 0x58], rdi
mov rcx, rsi
call fcn.1400031d0
mov byte [rsi + r14], 0
mov qword [rbp + 0x40], rsi
mov eax, dword [0x14000e330]
lea r9, [rbp + 0x40]
movsd xmm0, qword [str.TINI:launcher:]
lea r8, [rbp + 0x20]
mov dword [rbp + 0x28], eax
lea rcx, [rbp]
movzx eax, word [0x14000e334]
movzx edx, bl
mov word [rbp + 0x2c], ax
mov qword [rbp + 0x38], 0xf
mov qword [rbp + 0x30], 0xe
movsd qword [rbp + 0x20], xmm0
mov byte [rbp + 0x2e], 0
call fcn.1400019d0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140001565
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001560
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001824
call fcn.1400020ec
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x1400015a0
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000159b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001824
call fcn.1400020ec
cmp qword [rbp + 0x18], 0x10
lea r9, [rbp]
mov rdi, qword [rbp + 0x10]
cmovae r9, qword [rbp]
mov qword [rbp + 0x38], 0xf
mov qword [rbp + 0x30], 4
mov dword [rbp + 0x20], edi
mov byte [rbp + 0x24], 0
cmp rdi, 0xb
ja 0x1400015f1
lea rax, [rdi + 4]
mov r8, rdi
mov rdx, r9
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x24]
call fcn.1400031d0
lea rax, [rbp + 0x20]
mov byte [rbp + rdi + 0x24], 0
jmp 0x140001605
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140001840
movups xmm0, xmmword [rax]
xor esi, esi
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov byte [rax], sil
mov qword [rax + 0x18], 0xf
mov rdx, qword [rbp + 0x18]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp + 0x40], xmm1
cmp rdx, 0x10
jb 0x140001668
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000165b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000181e
call fcn.1400020ec
movups xmm0, xmmword [rbp - 0x80]
movups xmm1, xmmword [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm1
cmp rdx, 0x10
jb 0x1400016ab
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400016a6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000181e
call fcn.1400020ec
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp]
mov rdi, qword [rsp + 0x60]
lea r9, [rsp + 0x58]
cmovae rdx, qword [rbp]
mov rcx, rdi
mov r8d, dword [rbp + 0x10]
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x14000171d
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000170f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001824
call fcn.1400020ec
jmp 0x14000171d
mov rdi, qword [rsp + 0x60]
xor esi, esi
mov rax, qword [rbp + 0x98]
cmp rax, 0x10
jb 0x14000175c
lea rdx, [rax + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140001754
mov r12, qword [r12 - 8]
add rdx, 0x27
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001836
mov rcx, r12
call fcn.1400020ec
mov rcx, qword [rsp + 0x68]
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x140001200
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x1400017c4
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400017bf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000180c
call fcn.1400020ec
mov r15, qword [rsp + 0x11b0]
mov r14, qword [rsp + 0x11b8]
mov r13, qword [rsp + 0x11f0]
mov r12, qword [rsp + 0x11e8]
mov rbx, qword [rsp + 0x11e0]
mov rcx, qword [rbp + 0x10a0]
xor rcx, rsp
call fcn.1400021f0
add rsp, 0x11c0
pop rdi
pop rsi
pop rbp
ret
call fcn.140001cf0
int3
call fcn.1400042cc
int3
call fcn.140001cd0
int3
call fcn.140001cd0
int3
call fcn.1400042cc
int3
call fcn.1400042cc
int3
call fcn.140001cf0
int3
call fcn.140001d10
int3
call fcn.1400042cc
int3