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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rdi, rdx
mov r14, rcx
xor r12d, r12d
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x14000169a
lea rcx, str._DLL_Injection__Failed_to_get_kernel32.dll_module_address._n
call fcn.1400014e0
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001250
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400015c1
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x140011580]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], r12b
jmp 0x140001627
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
mov r8d, eax
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140006450
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x40]
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovb rdx, rax
mov r8, qword [rbp - 0x30]
mov rcx, rbx
call fcn.140001ce0
lea rdx, [0x140001420]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140001aa0
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, [0x1400108d0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
test rax, rax
jne 0x1400017d5
lea rcx, str._DLL_Injection__Failed_to_get_LoadLibraryA_address._n
call fcn.1400014e0
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001250
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400016fc
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x140011580]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], r12b
jmp 0x140001762
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
mov r8d, eax
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140006450
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x40]
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovb rdx, rax
mov r8, qword [rbp - 0x30]
mov rcx, rbx
call fcn.140001ce0
lea rdx, [0x140001420]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140001aa0
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1400017e2
mov rax, qword [rdi]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x1400017f0
inc r8
mov dword [rsp + 0x20], 4
xor edx, edx
mov r9d, 0x3000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, rax
test rax, rax
jne 0x140001940
lea rcx, str._DLL_Injection__Failed_to_allocate_memory_for_DLLPath_in_target_process._n
call fcn.1400014e0
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001250
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140001867
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x140011580]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], r12b
jmp 0x1400018cd
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
mov r8d, eax
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140006450
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x40]
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovb rdx, rax
mov r8, qword [rbp - 0x30]
mov rcx, rbx
call fcn.140001ce0
lea rdx, [0x140001420]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140001aa0
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp qword [rdi + 0x18], 0x10
jb 0x140001960
mov rax, qword [rdi]
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], r12b
jne 0x140001950
mov rdi, rax
jmp 0x140001969
inc rbx
cmp byte [rdi + rbx], r12b
jne 0x140001960
mov qword [rsp + 0x20], r12
mov r9, rbx
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140001aa7
lea rcx, str._DLL_Injection__Failed_to_write_remote_process_memory._n
call fcn.1400014e0
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001250
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400019ce
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x140011580]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], r12b
jmp 0x140001a34
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
mov r8d, eax
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140006450
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x40]
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovb rdx, rax
mov r8, qword [rbp - 0x30]
mov rcx, rbx
call fcn.140001ce0
lea rdx, [0x140001420]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140001aa0
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000e430
xor al, al
jmp 0x140001c42
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rsi
mov r9, r15
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rbx, rax
test rax, rax
jne 0x140001c04
lea rcx, str._DLL_Injection__Failed_to_create_remote_thread._n
call fcn.1400014e0
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001250
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140001b19
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x140011580]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], r12b
jmp 0x140001b7f
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
mov r8d, eax
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140006450
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x40]
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovb rdx, rax
mov r8, qword [rbp - 0x30]
mov rcx, rbx
call fcn.140001ce0
lea rdx, [0x140001420]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140001beb
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001be6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001be6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000e430
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor al, al
jmp 0x140001c42
mov edx, 0x7d0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140001c2b
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str._DLL_Injection__Successfully_LoadLibraryA_injection._n
call fcn.1400014e0
mov al, 1
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret