Function at 0x140013ff0
Capabilities:
Create thread
Inject dll
Inject thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x1401ad080]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdx
lea rdx, str.Grand_Theft_Auto_V
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
jne 0x14001404b
lea r8, str.Injection_failed__Grand_theft_Auto_V_is_not_found
lea rdx, str.Error
mov ecx, Ordinal_200
call fcn.140073cc0
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140014058
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
lea rdx, str.Grand_Theft_Auto_V
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x1400140b0
lea r8, str.Attached_to_GTAV.exe
lea rdx, str.Success
mov ecx, 0x54
call fcn.140073cc0
lea r8, str.Injecting_Virtual_X_...
lea rdx, str.Success
mov ecx, 0x54
call fcn.140073cc0
mov byte [0x1401e50d3], 0
mov byte [0x1401e50d2], 1
lea rdx, str.Grand_Theft_Auto_V
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x40]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbp, rax
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400140ef
mov rcx, qword [rbx]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rcx + r8], 0
jne 0x140014100
inc r8
mov dword [rsp + 0x20], 4
xor edx, edx
mov r9d, 0x1000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r14, rax
mov r9, rdi
cmp qword [rbx + 0x18], 0xf
jbe 0x140014145
mov rcx, qword [rbx]
inc r9
cmp byte [rcx + r9], 0
jne 0x140014136
mov r8, rcx
jmp 0x140014152
inc r9
cmp byte [rbx + r9], 0
jne 0x140014145
mov r8, rbx
inc r9
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov rdx, r14
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x14018f768]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r9, rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400141c1
mov rax, qword [rbx]
lea rdi, [rdi + 1]
cmp byte [rax + rdi], r15b
jne 0x1400141c1
lea r8, [rdi + 1]
mov r9d, 0x8000
mov rdx, r14
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140014218
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140014213
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001428d
mov rcx, r8
call fcn.1400c6094
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14001425d
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140014258
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140014294
mov rcx, r8
call fcn.1400c6094
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rsi], 0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400c5df0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3