Function at 0x140012080
Capabilities:
Print debug messages

Disassembly:
push r15
lea r15, [0x14002c210]
push r14
mov r14, rcx
push r13
lea r13, str.DllInjectReflective
push r12
mov r12, r9
push rbp
push rdi
push rsi
mov rsi, rdx
mov rdx, r13
push rbx
mov ebx, r8d
mov r8d, 0xae
sub rsp, 0x68
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x20], r9
mov r9, rcx
lea rcx, str._DEBUG::_s::_d__DllInjectReflective___x___x___d___x___n
mov rbp, qword [rsp + 0xe0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x28], eax
call sym.DbgPrint
mov rax, qword [0x14002d650]
test r12, r12
mov qword [rsp + 0x58], 0
mov rax, qword [rax]
mov di, word [rax + 0x58]
sete al
cmp dword [rsp + 0xd0], 0
sete dl
or al, dl
jne 0x140012118
test r14, r14
jne 0x140012149
mov rdx, r13
lea r9, str.Params__NULL
mov rcx, r15
xor esi, esi
mov r8d, 0xc0
or r13d, 0xffffffff
xor r12d, r12d
call sym.printf.constprop.0_8
mov dword [rsp + 0xd0], 0
jmp 0x140012551
mov rcx, r14
call sym.ProcessIsWow
mov rcx, r12
test eax, eax
je 0x14001218c
call sym.GetPeArch
mov dword [rsp + 0x4c], 0
dec eax
je 0x1400121c7
mov rdx, r13
lea r9, str._ERROR__trying_to_inject_a_x64_payload_into_a_x86_process._ABORT
mov r8d, 0xca
mov rcx, r15
call sym.printf.constprop.0_8
mov r13d, 0x1001
jmp 0x140012570
call sym.GetPeArch
cmp eax, 2
jne 0x1400121a4
xor eax, eax
test di, di
setne al
mov dword [rsp + 0x4c], eax
jmp 0x1400121c7
mov rdx, r13
lea r9, str._ERROR__trying_to_inject_a_x86_payload_into_a_x64_process._ABORT
mov r8d, 0xd2
mov rcx, r15
call sym.printf.constprop.0_8
mov r13d, 0x1002
jmp 0x140012570
mov rcx, r12
call sym.GetReflectiveLoaderOffset
mov dword [rsp + 0x48], eax
test eax, eax
je 0x1400121f6
lea r9, str.The_DLL_has_a_Reflective_Loader_already_defined
mov r8d, 0xd8
mov rdx, r13
mov rcx, r15
call sym.printf.constprop.0_8
mov esi, 1
jmp 0x140012255
lea r9, str.The_DLL_does_not_have_a_Reflective_Loader_defined__using_KaynLdr
mov r8d, 0xdd
mov rdx, r13
lea rcx, [0x14002c210]
call sym.printf.constprop.0_8
mov rax, qword [0x14002d650]
mov ecx, 0x40
mov r15d, dword [rsp + 0xd0]
mov rax, qword [rax]
add r15d, ebx
mov edx, r15d
call qword [rax + 0x3a8]
mov ecx, ebx
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [rsp + 0xd0]
mov rsi, r12
mov r12, rax
mov dword [rsp + 0xd0], r15d
rep movsb byte [rdi], byte [rsi]
xor esi, esi
mov r9d, dword [rsp + 0x48]
mov r8d, 0xe5
mov rdx, r13
lea rcx, str._DEBUG::_s::_d__Reflective_Loader_Offset____x_n
call sym.DbgPrint
mov rax, qword [rsp + 0xd8]
mov r9, rbp
mov rdx, r13
mov r8d, 0xe8
lea rcx, str._DEBUG::_s::_d__Params:_Size:__d__Pointer:__p__n
mov qword [rsp + 0x20], rax
call sym.DbgPrint
test rbp, rbp
je 0x140012363
mov r9d, 4
mov r8, rbp
mov rdx, r14
xor ecx, ecx
call sym.MmVirtualAlloc
mov rbx, rax
test rax, rax
je 0x14001232e
mov r9, rax
mov r8d, 0xee
mov rdx, r13
lea rcx, str._DEBUG::_s::_d__MemoryAlloc:_Success_allocated_memory_for_parameters:_ptr:__p__n
call sym.DbgPrint
lea rax, [rsp + 0x58]
mov rcx, r14
mov r9, rbp
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 0xd8]
mov rdx, rbx
call sym.SysNtWriteVirtualMemory
lea rcx, [0x14002c210]
test eax, eax
mov edi, eax
jns 0x140012317
lea r9, str.NtWriteVirtualMemory:_Failed_to_write_memory_for_parameters
mov r8d, 0xf2
mov rdx, r13
call sym.printf.constprop.0_8
jmp 0x1400124fc
lea r9, str.Successful_wrote_params_into_remote_library_memory
mov r8d, 0xf8
mov rdx, r13
call sym.printf.constprop.0_8
jmp 0x140012365
mov rdx, r13
lea r9, str.NtAllocateVirtualMemory:_Failed_to_allocate_memory_for_parameters
mov r8d, 0xfc
lea rcx, [0x14002c210]
call sym.printf.constprop.0_8
mov rax, qword [0x14002d650]
xor ecx, ecx
mov rax, qword [rax]
call qword [rax + 0x160]
mov edx, eax
jmp 0x1400124d8
xor ebx, ebx
mov edi, dword [rsp + 0xd0]
mov r9d, 4
mov rdx, r14
xor ecx, ecx
mov r8, rdi
call sym.MmVirtualAlloc
mov rbp, rax
test rax, rax
je 0x14001251f
lea r15, str.DllInjectReflective
lea r13, [0x14002c210]
mov r8d, 0x107
lea r9, str.___NtAllocateVirtualMemory:_success
mov rdx, r15
mov rcx, r13
call sym.printf.constprop.0_8
lea rax, [rsp + 0x58]
mov r9, rdi
mov r8, r12
mov qword [rsp + 0x20], rax
mov rdx, rbp
mov rcx, r14
call sym.SysNtWriteVirtualMemory
mov edi, eax
test eax, eax
js 0x1400124e4
mov r9, rbp
mov r8d, 0x10b
mov rdx, r15
lea rcx, str._DEBUG::_s::_d_____NtWriteVirtualMemory:_success:_ptr__p__n
call sym.DbgPrint
mov r8, rbp
mov rdx, r14
mov ecx, 2
mov dword [rsp + 0x20], 0x20
and r8, 0xffffffffffffe000
mov r9d, 0x4000
mov qword [rsp + 0x58], 0
call sym.MmVirtualProtect
test eax, eax
je 0x1400124ac
mov r9, rbx
mov r8d, 0x116
mov rdx, r15
xor r13d, r13d
mov rax, qword [rsp + 0xe8]
lea rcx, str._DEBUG::_s::_d__ctx__Parameter:__p_n
mov qword [rax + 0x22], rbx
call sym.DbgPrint
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0x20], rbx
mov rdx, r14
mov qword [rsp + 0x28], 0
mov r8d, dword [rsp + 0x4c]
mov ecx, 2
lea r9, [rbp + rax]
call sym.ThreadCreate
test rax, rax
jne 0x140012551
mov rbx, qword [0x14002d650]
mov r8d, 0x11a
mov rdx, r15
lea rcx, str._DEBUG::_s::_d______Failed_to_inject_dll__d_n
mov rax, qword [rbx]
mov rax, qword [rax + 0x8c2]
mov r9d, dword [rax + 0x68]
call sym.DbgPrint
mov rax, qword [rbx]
jmp 0x1400124ce
lea r9, str.____NtProtectVirtualMemory:_failed
mov r8d, 0x125
mov rdx, r15
mov rcx, r13
call sym.printf.constprop.0_8
mov rax, qword [0x14002d650]
mov rax, qword [rax]
mov rax, qword [rax + 0x8c2]
mov edx, dword [rax + 0x68]
mov ecx, 1
call sym.PackageTransmitError
jmp 0x14001254d
mov r9d, eax
mov r8d, 0x12d
mov rdx, r15
lea rcx, str._DEBUG::_s::_d__NtWriteVirtualMemory:_Failed_to_write_memory_for_library___x__n
call sym.DbgPrint
mov rax, qword [0x14002d650]
mov ecx, edi
mov r13d, edi
mov rax, qword [rax]
call qword [rax + 0x160]
mov ecx, 1
mov edx, eax
call sym.PackageTransmitError
jmp 0x140012551
mov rax, qword [0x14002d650]
mov r8d, 0x134
lea rdx, str.DllInjectReflective
lea rcx, str._DEBUG::_s::_d__Failed_to_allocate_memory:__d_n
mov rax, qword [rax]
mov rax, qword [rax + 0x8c2]
mov r9d, dword [rax + 0x68]
call sym.DbgPrint
or r13d, 0xffffffff
test esi, esi
jne 0x140012570
test r12, r12
je 0x140012570
mov ecx, dword [rsp + 0xd0]
mov rdi, r12
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r12
call sym.MmHeapFree
add rsp, 0x68
mov eax, r13d
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret