Function at 0x1400fb7f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
mov r13, rcx
push r12
push rdi
push rsi
push rbx
sub rsp, 0x10
and rsp, 0xfffffffffffffff0
sub rsp, 0x40
mov rsi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x50]
mov qword [rbp + 0x20], r8
movaps xmmword [rsp + 0x40], xmm6
mov r12, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x48]
movq xmm1, rbx
movq xmm6, rsi
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x28], r9
punpcklqdq xmm6, xmm1
call sub.msvcrt.dll_strlen
mov r8, rax
mov r14d, eax
mov rax, qword [0x1403f1080]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400fbb87
mov r10, r13
cmp r8d, 0xb
jbe 0x1400fc1a7
mov ecx, 0x9e3779b9
mov eax, 0xfeedbeef
mov r11d, r8d
mov r15d, 0x9e3779b9
mov r9d, ecx
mov ecx, eax
nop word [rax + rax]
movzx eax, byte [r10 + 5]
movzx edx, byte [r10 + 6]
shl eax, 8
shl edx, 0x10
add eax, edx
movzx edx, byte [r10 + 4]
add eax, edx
movzx edx, byte [r10 + 7]
shl edx, 0x18
add eax, edx
movzx edx, byte [r10 + 0xa]
add r15d, eax
movzx eax, byte [r10 + 9]
shl edx, 0x10
shl eax, 8
add eax, edx
movzx edx, byte [r10 + 8]
add eax, edx
movzx edx, byte [r10 + 0xb]
shl edx, 0x18
add edx, eax
lea eax, [rdx + rcx]
movzx ecx, byte [r10 + 1]
movzx edx, byte [r10 + 2]
shl ecx, 8
shl edx, 0x10
add ecx, edx
movzx edx, byte [r10]
add ecx, edx
movzx edx, byte [r10 + 3]
shl edx, 0x18
add ecx, edx
mov edx, eax
sub ecx, r15d
shr edx, 0xd
sub r15d, eax
sub ecx, eax
lea ecx, [rcx + r9]
xor edx, ecx
mov ecx, r15d
mov r15d, edx
sub ecx, edx
sub eax, edx
shl r15d, 8
xor r15d, ecx
sub eax, r15d
sub edx, r15d
mov ecx, eax
mov eax, r15d
shr eax, 0xd
xor eax, ecx
sub edx, eax
sub r15d, eax
sub r11d, 0xc
add r10, 0xc
mov ecx, edx
mov edx, eax
shr edx, 0xc
xor edx, ecx
mov ecx, r15d
mov r15d, edx
sub ecx, edx
sub eax, edx
shl r15d, 0x10
xor r15d, ecx
sub eax, r15d
sub edx, r15d
mov ecx, eax
mov eax, r15d
shr eax, 5
xor eax, ecx
mov r9d, eax
sub edx, eax
sub r15d, eax
shr r9d, 3
xor r9d, edx
mov edx, r9d
sub r15d, r9d
sub eax, r9d
shl edx, 0xa
xor r15d, edx
mov ecx, r15d
sub eax, r15d
shr ecx, 0xf
xor ecx, eax
cmp r11d, 0xb
ja 0x1400fb888
mov eax, ecx
mov ecx, r9d
add eax, r8d
cmp r11d, 0xb
ja case.0x1400fb9b0.0
lea rdx, [0x14027d554]
movsxd r9, dword [rdx + r11*4]
add r9, rdx
jmp r9
movzx edx, byte [r10 + 0xa]
shl edx, 0x18
add eax, edx
movzx edx, byte [r10 + 9]
shl edx, 0x10
add eax, edx
movzx edx, byte [r10 + 8]
shl edx, 8
add eax, edx
movzx edx, byte [r10 + 7]
shl edx, 0x18
add r15d, edx
movzx edx, byte [r10 + 6]
shl edx, 0x10
add r15d, edx
movzx edx, byte [r10 + 5]
shl edx, 8
add r15d, edx
movzx edx, byte [r10 + 4]
add r15d, edx
movzx edx, byte [r10 + 3]
shl edx, 0x18
add ecx, edx
movzx edx, byte [r10 + 2]
shl edx, 0x10
add ecx, edx
movzx edx, byte [r10 + 1]
shl edx, 8
add ecx, edx
movzx edx, byte [r10]
add ecx, edx
lea edx, [rax + r15]
sub ecx, edx
mov edx, eax
shr edx, 0xd
xor ecx, edx
mov edx, r15d
sub edx, eax
mov r9d, ecx
sub eax, ecx
sub edx, ecx
shl r9d, 8
xor edx, r9d
sub eax, edx
sub ecx, edx
mov r9d, eax
mov eax, edx
shr eax, 0xd
xor eax, r9d
sub ecx, eax
sub edx, eax
mov r9d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r9d
sub edx, ecx
sub eax, ecx
mov r9d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r9d
sub eax, edx
sub ecx, edx
mov r9d, eax
mov eax, edx
shr eax, 5
xor eax, r9d
mov r9d, eax
sub ecx, eax
sub edx, eax
shr r9d, 3
xor ecx, r9d
mov r9d, ecx
sub edx, ecx
sub eax, ecx
shl r9d, 0xa
xor edx, r9d
sub eax, edx
shr edx, 0xf
xor edx, eax
mov rax, qword [rsp + 0x38]
mov r9d, edx
mov rdx, qword [rax + 0x68]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, r9d
shl rax, 4
add rax, qword [rdx]
mov r15, qword [rax]
test r15, r15
je 0x1400fbb87
mov rax, qword [rdx + 0x20]
mov r8d, r8d
mov qword [rbp + 0x40], rsi
mov rsi, r13
mov qword [rbp + 0x48], rdi
mov rdi, r8
mov r10, rax
mov qword [rbp + 0x50], rbx
sub r15, rax
mov ebx, r14d
neg r10
mov r14d, r9d
mov r13, r10
jmp 0x1400fbb07
mov r15, qword [r15 + 0x88]
test r15, r15
je 0x1400fbb78
add r15, r13
cmp dword [r15 + 0x9c], r14d
jne 0x1400fbaf8
cmp dword [r15 + 0x98], ebx
jne 0x1400fbaf8
mov rcx, qword [r15 + 0x90]
mov r8, rdi
mov rdx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400fbaf8
lea rax, str.Plugin_name___s__is_already_present
mov qword [rsp + 0x28], rsi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r9d, 7
lea r8, str.dap_plugin_manifest
xor r14d, r14d
call fcn.14005a0c0
movaps xmm6, xmmword [rsp + 0x40]
lea rsp, [rbp - 0x38]
mov rax, r14
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r13, rsi
mov rdi, qword [rbp + 0x48]
mov rsi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x50]
mov edx, 0xa0
mov ecx, 1
call sub.msvcrt.dll_calloc
mov r14, rax
test rax, rax
je 0x1400fc1c7
mov rcx, r13
call fcn.140101e30
mov rcx, qword [rbp + 0x18]
mov qword [r14], rax
call fcn.140101e30
mov byte [r14 + 0x60], 1
mov rcx, qword [rbp + 0x20]
mov qword [r14 + 0x20], rax
call fcn.140101e30
mov rcx, qword [rbp + 0x28]
mov qword [r14 + 0x10], rax
call fcn.140101e30
mov rcx, qword [rbp + 0x30]
mov qword [r14 + 8], rax
call fcn.140101e30
mov rdx, rsi
mov qword [r14 + 0x18], rax
xor eax, eax
shl rdx, 3
jne 0x1400fc0e0
mov qword [r14 + 0x40], rax
test rsi, rsi
je 0x1400fbc25
xor r13d, r13d
jmp 0x1400fbc0c
mov rax, qword [r14 + 0x40]
mov rcx, qword [r12 + r13*8]
lea r15, [rax + r13*8]
add r13, 1
call fcn.140101e30
mov qword [r15], rax
cmp rsi, r13
jne 0x1400fbc08
mov rdx, rbx
xor eax, eax
movups xmmword [r14 + 0x48], xmm6
shl rdx, 3
jne 0x1400fc0f0
mov qword [r14 + 0x58], rax
test rbx, rbx
je 0x1400fbc6e
xor esi, esi
jmp 0x1400fbc54
mov rax, qword [r14 + 0x58]
mov rcx, qword [rdi + rsi*8]
lea r12, [rax + rsi*8]
add rsi, 1
call fcn.140101e30
mov qword [r12], rax
cmp rbx, rsi
jne 0x1400fbc50
mov rbx, qword [r14]
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov r9, rbx
mov r11, rax
cmp eax, 0xb
jbe 0x1400fc190
mov ecx, 0x9e3779b9
mov r10d, eax
mov edx, 0x9e3779b9
mov eax, 0xfeedbeef
mov esi, ecx
nop dword [rax]
movzx ecx, byte [r9 + 5]
movzx r8d, byte [r9 + 6]
shl ecx, 8
shl r8d, 0x10
add ecx, r8d
movzx r8d, byte [r9 + 4]
add ecx, r8d
movzx r8d, byte [r9 + 7]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 0xa]
add edx, ecx
movzx ecx, byte [r9 + 9]
shl r8d, 0x10
shl ecx, 8
add ecx, r8d
movzx r8d, byte [r9 + 8]
add ecx, r8d
movzx r8d, byte [r9 + 0xb]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 2]
add eax, ecx
movzx ecx, byte [r9 + 1]
shl r8d, 0x10
shl ecx, 8
add ecx, r8d
movzx r8d, byte [r9]
add ecx, r8d
movzx r8d, byte [r9 + 3]
shl r8d, 0x18
add ecx, r8d
mov r8d, eax
sub ecx, edx
shr r8d, 0xd
sub edx, eax
sub ecx, eax
lea ecx, [rcx + rsi]
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 8
xor edx, r8d
sub eax, edx
mov r8d, eax
mov eax, edx
shr eax, 0xd
xor eax, r8d
sub ecx, edx
sub r10d, 0xc
add r9, 0xc
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
mov esi, eax
sub ecx, eax
sub edx, eax
shr esi, 3
xor esi, ecx
mov ecx, edx
mov edx, esi
sub ecx, esi
sub eax, esi
shl edx, 0xa
xor edx, ecx
sub eax, edx
mov ecx, eax
mov eax, edx
shr eax, 0xf
xor eax, ecx
cmp r10d, 0xb
ja 0x1400fbca0
mov ecx, esi
add eax, r11d
cmp r10d, 0xb
ja case.0x1400fbdcb.0
lea rsi, [0x14027d584]
movsxd r8, dword [rsi + r10*4]
add r8, rsi
jmp r8
movzx r8d, byte [r9 + 0xa]
shl r8d, 0x18
add eax, r8d
movzx r8d, byte [r9 + 9]
shl r8d, 0x10
add eax, r8d
movzx r8d, byte [r9 + 8]
shl r8d, 8
add eax, r8d
movzx r8d, byte [r9 + 7]
shl r8d, 0x18
add edx, r8d
movzx r8d, byte [r9 + 6]
shl r8d, 0x10
add edx, r8d
movzx r8d, byte [r9 + 5]
shl r8d, 8
add edx, r8d
movzx r8d, byte [r9 + 4]
add edx, r8d
movzx r8d, byte [r9 + 3]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 2]
shl r8d, 0x10
add ecx, r8d
movzx r8d, byte [r9 + 1]
shl r8d, 8
add ecx, r8d
movzx r8d, byte [r9]
add ecx, r8d
lea r8d, [rax + rdx]
sub edx, eax
movd xmm0, r11d
mov qword [r14 + 0x90], rbx
sub ecx, r8d
mov r8d, eax
shr r8d, 0xd
xor r8d, ecx
mov ecx, r8d
sub edx, r8d
sub eax, r8d
shl ecx, 8
xor edx, ecx
sub eax, edx
sub r8d, edx
mov ecx, eax
mov eax, edx
shr eax, 0xd
xor eax, ecx
mov ecx, eax
sub r8d, eax
sub edx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov esi, ecx
sub edx, ecx
sub eax, ecx
shl esi, 0xa
xor esi, edx
sub eax, esi
shr esi, 0xf
xor esi, eax
mov rax, qword [0x1403f1080]
movd xmm2, esi
punpckldq xmm0, xmm2
movq qword [r14 + 0x98], xmm0
test rax, rax
je 0x1400fc100
mov rdx, qword [rax + 0x68]
mov qword [r14 + 0x78], 0
lea rdi, [r14 + 0x68]
mov qword [r14 + 0x68], rdx
mov rcx, qword [rax + 0x68]
mov rdx, qword [rcx + 0x18]
sub rdx, qword [rcx + 0x20]
mov qword [r14 + 0x70], rdx
mov rdx, qword [rax + 0x68]
mov rdx, qword [rdx + 0x18]
mov qword [rdx + 0x10], r14
mov rdx, qword [rax + 0x68]
mov qword [rdx + 0x18], rdi
mov rbx, qword [rax + 0x68]
mov ecx, dword [rbx + 0x10]
lea edx, [rcx + 1]
mov dword [rbx + 0x10], edx
mov rdx, qword [rax + 0x68]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, esi
shl rax, 4
add rax, qword [rdx]
mov rdx, qword [rax]
add dword [rax + 8], 1
mov qword [r14 + 0x80], 0
mov qword [r14 + 0x88], rdx
mov rdx, qword [rax]
test rdx, rdx
je 0x1400fbf6d
mov qword [rdx + 0x18], rdi
mov edx, dword [rax + 0xc]
mov qword [rax], rdi
lea edx, [rdx + rdx*4 + 5]
add edx, edx
cmp dword [rax + 8], edx
jb 0x1400fbb59
mov rdi, qword [r14 + 0x68]
mov ebx, dword [rdi + 0x34]
test ebx, ebx
jne 0x1400fbb59
mov ecx, dword [rdi + 8]
mov edx, 1
shl rcx, 5
call sub.msvcrt.dll_calloc
mov rsi, rax
test rax, rax
je 0x1400fc1bf
mov edx, dword [rdi + 8]
mov eax, dword [rdi + 0x10]
mov ecx, dword [rdi + 0xc]
lea edx, [rdx + rdx - 1]
test edx, eax
setne dl
add ecx, 1
shr eax, cl
movzx edx, dl
add edx, eax
mov dword [rdi + 0x28], edx
mov rax, qword [r14 + 0x68]
mov dword [rax + 0x2c], 0
mov r8, qword [r14 + 0x68]
mov eax, dword [r8 + 8]
test eax, eax
je 0x1400fc08f
xor r10d, r10d
nop dword [rax + rax]
mov edx, r10d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400fc01f
jmp 0x1400fc082
mov qword [rcx + 0x18], rdx
mov r8, qword [r14 + 0x68]
mov qword [rax], rdx
test r9, r9
je 0x1400fc07e
mov eax, dword [r8 + 8]
mov rdx, r9
lea eax, [rax + rax - 1]
and eax, dword [rdx + 0x34]
mov r9, qword [rdx + 0x20]
shl rax, 4
add rax, rsi
mov edi, dword [rax + 8]
lea ecx, [rdi + 1]
mov dword [rax + 8], ecx
cmp ecx, dword [r8 + 0x28]
jbe 0x1400fc05e
add dword [r8 + 0x2c], 1
mov r8, qword [r14 + 0x68]
mov ecx, dword [rax + 0xc]
mov edi, dword [r8 + 0x28]
imul edi, ecx
cmp dword [rax + 8], edi
jbe 0x1400fc05e
add ecx, 1
mov dword [rax + 0xc], ecx
mov qword [rdx + 0x18], 0
mov rcx, qword [rax]
mov qword [rdx + 0x20], rcx
test rcx, rcx
jne 0x1400fc008
mov qword [rax], rdx
mov r8, qword [r14 + 0x68]
test r9, r9
jne 0x1400fc018
mov eax, dword [r8 + 8]
add r10d, 1
cmp r10d, eax
jb 0x1400fbff0
mov rcx, qword [r8]
call sub.msvcrt.dll_free
mov rax, qword [r14 + 0x68]
shl dword [rax + 8], 1
mov rax, qword [r14 + 0x68]
add dword [rax + 0xc], 1
mov rax, qword [r14 + 0x68]
mov qword [rax], rsi
mov rax, qword [r14 + 0x68]
mov edx, dword [rax + 0x10]
shr edx, 1
cmp dword [rax + 0x2c], edx
jbe 0x1400fc0c1
mov ebx, dword [rax + 0x30]
add ebx, 1
mov dword [rax + 0x30], ebx
mov rax, qword [r14 + 0x68]
cmp dword [rax + 0x30], 1
jbe 0x1400fbb59
mov dword [rax + 0x34], 1
jmp 0x1400fbb59
mov ecx, 1
call sub.msvcrt.dll_calloc
jmp 0x1400fbbf5
mov ecx, 1
call sub.msvcrt.dll_calloc
jmp 0x1400fbc39
pxor xmm0, xmm0
mov ecx, 0x40
movups xmmword [r14 + 0x70], xmm0
call sub.msvcrt.dll_malloc
mov qword [r14 + 0x68], rax
mov rbx, rax
test rax, rax
je 0x1400fc1bf
lea rdi, [r14 + 0x68]
mov qword [rax + 0x10], 0
mov edx, 1
mov ecx, 0x200
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x18], rdi
mov rax, qword [0x14027d780]
mov qword [rbx + 0x20], 0x68
mov qword [rbx + 8], rax
call sub.msvcrt.dll_calloc
mov dword [rbx + 0x38], 0xa0111fe1
mov qword [rbx], rax
test rax, rax
je 0x1400fc1bf
mov qword [0x1403f1080], r14
mov rax, r14
mov edx, 1
jmp 0x1400fbf32
mov r10d, eax
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
mov eax, 0xfeedbeef
jmp 0x1400fbdb0
mov r11d, r8d
mov r15d, 0x9e3779b9
mov ecx, 0x9e3779b9
mov eax, 0xfeedbeef
jmp 0x1400fb999
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
lea rax, [0x14027d514]
mov r9d, 8
lea r8, str.dap_plugin_manifest
mov edx, 0x43
mov qword [rsp + 0x20], rax
lea rcx, str.dap_plugin_manifest_add_builtin
call fcn.14005a0c0
jmp 0x1400fbb59