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

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x40
mov rbx, rdx
mov r15d, ecx
mov r8d, ecx
xor edx, edx
mov ecx, 0x42a
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
jne 0x14000341f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_open_process:
mov ebx, eax
lea rcx, [0x14006fa60]
call fcn.140007c90
mov rcx, rax
mov edx, ebx
call fcn.1400037f0
mov rcx, rax
call fcn.140007f50
xor al, al
add rsp, 0x40
pop r15
pop rdi
pop rbx
ret
mov r8, qword [rbx + 0x10]
xor edx, edx
mov qword [rsp + 0x68], rsi
add r8, r8
mov qword [rsp + 0x70], r14
mov r9d, 0x3000
lea r14, [rbx + 0x10]
mov dword [rsp + 0x20], 4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, rax
test rax, rax
jne 0x140003492
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_allocate_memory:
mov ebx, eax
lea rcx, [0x14006fa60]
call fcn.140007c90
mov rcx, rax
mov edx, ebx
call fcn.1400037f0
mov rcx, rax
call fcn.140007f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x140003605
cmp qword [rbx + 0x18], 7
mov qword [rsp + 0x60], rbp
jbe 0x1400034a1
mov rbx, qword [rbx]
mov r9, qword [r14]
xor ebp, ebp
add r9, r9
mov qword [rsp + 0x20], rbp
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x1400034d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_write_memory:
jmp 0x140003549
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1400034f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_get_kernel32_handle:
jmp 0x140003549
lea rdx, str.LoadLibraryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140003515
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_get_LoadLibrary_address:
jmp 0x140003549
mov qword [rsp + 0x30], rbp
mov r9, rax
mov dword [rsp + 0x28], ebp
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rbx, rax
test rax, rax
jne 0x14000358b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_create_remote_thread:
lea rcx, [0x14006fa60]
mov ebx, eax
call fcn.140007c90
mov rcx, rax
mov edx, ebx
call fcn.1400037f0
mov rcx, rax
call fcn.140007f50
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x140003600
mov edx, 0x1388
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
test eax, eax
je 0x1400035d4
lea rdx, str.Injection_thread_for_process_ID:
lea rcx, [0x14006fa60]
call fcn.140007c90
mov rcx, rax
mov edx, r15d
call fcn.1400037f0
mov rcx, rax
lea rdx, str._timed_out.
call fcn.140007c90
mov rcx, rax
call fcn.140007f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
sete al
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop rdi
pop rbx
ret