Function at 0x140155f30
Capabilities:
Create thread
Inject thread

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xd0], rbx
mov rax, qword [0x1402c4148]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rdx
mov r8d, ecx
xor edx, edx
lea ecx, [rdx + 0x2a]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rsi, rax
test rax, rax
jne 0x140156058
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.14011dc20
mov rdi, rax
mov edx, 4
mov rcx, rax
call fcn.14011e890
mov r14d, eax
test eax, eax
je 0x140156051
movdqa xmm0, xmmword [0x14024e310]
movdqu xmmword [rbp - 0x18], xmm0
xor ebx, ebx
mov word [rbp - 0x28], bx
mov r8d, esi
lea rdx, str.OpenProcess_dwErr__0x_X
lea rcx, [rbp - 0x28]
call fcn.14011f030
mov dword [rsp + 0x28], 0x12c
lea r9, [0x140242120]
mov qword [rsp + 0x20], r9
lea r8, [rbp - 0x28]
lea edx, [rbx + 4]
mov rcx, rdi
call fcn.14011e910
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14011ecb0
cmp r14d, 1
jbe 0x140156011
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14011ecc0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140156051
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015604c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401564d0
call fcn.140187064
mov eax, esi
jmp 0x140156497
mov r15, qword [rdi + 0x10]
inc r15
mov dword [rsp + 0x20], 4
mov r9d, 0x1000
mov r8, r15
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r12, rax
test rax, rax
jne 0x140156169
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
call fcn.14011dc20
mov rdi, rax
lea edx, [r12 + 4]
mov rcx, rax
call fcn.14011e890
mov r15d, eax
test eax, eax
je 0x140156158
movdqa xmm0, xmmword [0x14024e310]
movdqu xmmword [rbp - 0x18], xmm0
xor ebx, ebx
mov word [rbp - 0x28], bx
mov r8d, r14d
lea rdx, str.VirtualAllocEx_dwErr__0x_X
lea rcx, [rbp - 0x28]
call fcn.14011f030
mov dword [rsp + 0x28], 0x135
lea r9, [0x140242120]
mov qword [rsp + 0x20], r9
lea r8, [rbp - 0x28]
lea edx, [rbx + 4]
mov rcx, rdi
call fcn.14011e910
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14011ecb0
cmp r15d, 1
jbe 0x140156118
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14011ecc0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140156158
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140156153
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401564d6
call fcn.140187064
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r14d
jmp 0x140156497
xor ebx, ebx
mov qword [rbp - 0x38], rbx
cmp qword [rdi + 0x18], 0x10
jb 0x140156179
mov rdi, qword [rdi]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9, r15
mov r8, rdi
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1401563ab
cmp qword [rbp - 0x38], r15
je 0x14015627f
mov edi, 0xffffffff
call fcn.14011dc20
mov r14, rax
mov edx, 4
mov rcx, rax
call fcn.14011e890
mov r13d, eax
test eax, eax
je 0x140156477
movdqa xmm0, xmmword [0x14024e310]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], bx
mov r9, r15
mov r8, qword [rbp - 0x38]
lea rdx, str.WriteProcessMemory_numberOfBytesWritten____remoteBufSize_numberOfBytesWritten____d_remoteBufSize___d
lea rcx, [rbp - 0x28]
call fcn.14011f030
mov dword [rsp + 0x28], 0x142
lea r9, [0x140242120]
mov qword [rsp + 0x20], r9
lea r8, [rbp - 0x28]
mov edx, 4
mov rcx, r14
call fcn.14011e910
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.14011ecb0
cmp r13d, 1
jbe 0x140156237
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.14011ecc0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140156477
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140156472
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401564c4
jmp 0x140156472
mov dword [rbp - 0x40], ebx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r12
mov r9, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov r14, rax
test rax, rax
jne 0x14015638d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.14011dc20
mov r14, rax
mov edx, 4
mov rcx, rax
call fcn.14011e890
mov r13d, eax
test eax, eax
je 0x140156477
movdqa xmm0, xmmword [0x14024e310]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], bx
mov r8d, edi
lea rdx, str.CreateRemoteThread_dwErr__0x_X
lea rcx, [rbp - 0x28]
call fcn.14011f030
mov dword [rsp + 0x28], 0x153
lea r9, [0x140242120]
mov qword [rsp + 0x20], r9
lea r8, [rbp - 0x28]
mov edx, 4
mov rcx, r14
call fcn.14011e910
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.14011ecb0
cmp r13d, 1
jbe 0x140156345
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.14011ecc0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140156477
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140156472
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401564ca
jmp 0x140156472
mov edx, 0xffffffff
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, ebx
jmp 0x140156477
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.14011dc20
mov r14, rax
mov edx, 4
mov rcx, rax
call fcn.14011e890
mov r13d, eax
test eax, eax
je 0x140156477
movdqa xmm0, xmmword [0x14024e310]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], bx
mov r8d, edi
lea rdx, str.WriteProcessMemory_dwErr__0x_X
lea rcx, [rbp - 0x28]
call fcn.14011f030
mov dword [rsp + 0x28], 0x14a
lea r9, [0x140242120]
mov qword [rsp + 0x20], r9
lea r8, [rbp - 0x28]
mov edx, 4
mov rcx, r14
call fcn.14011e910
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.14011ecb0
cmp r13d, 1
jbe 0x14015643b
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.14011ecc0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140156477
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140156472
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401564be
call fcn.140187064
mov r9d, 0x1000
mov r8, r15
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140187610
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140199e4c
int3
call fcn.140199e4c
int3
call fcn.140199e4c
int3
call fcn.140199e4c
int3
call fcn.140199e4c
int3