Function at 0x1400388d0
Capabilities:
Encode data using xor

Disassembly:
mov dl, 0x27
jmp 0x1400388d0
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov ebx, edx
mov r15, rcx
mov r13, qword [rcx]
shl r13, 4
lea r14, [r13 + 1]
mov edx, 1
mov rcx, r14
xor r8d, r8d
call fcn.140016170
mov byte [rax + r13], 0
test r13, r13
je 0x14003895b
movzx edx, bl
xor ebp, ebp
mov rbx, r13
xor esi, esi
nop word cs:[rax + rax]
nop
mov rcx, rsi
shr rcx, 4
mov rdi, qword [r15 + 8]
mov rdi, qword [rdi + rcx*8]
mov ecx, ebp
and cl, 0x3c
shr rdi, cl
and edi, 0xf
lea ecx, [rdi + 6]
shr ecx, 4
neg ecx
and ecx, edx
add ecx, edi
add cl, 0x30
mov byte [rax + rbx - 1], cl
add rsi, 1
add rbp, 4
add rbx, 0xffffffffffffffff
jne 0x140038920
lea r9, [r13 - 1]
lea rcx, [r13 - 2]
movzx edx, byte [rax + r13 - 2]
xor rdx, 0x30
add rdx, 0xffffffffffffffff
sar rdx, 0x3f
xor r9, rcx
and r9, rdx
xor r9, rcx
lea rcx, [r13 - 4]
nop word cs:[rax + rax]
nop dword [rax]
lea rdx, [rcx + 1]
movzx ebp, byte [rax + rcx + 1]
xor rbp, 0x30
add rbp, 0xffffffffffffffff
sar rbp, 0x3f
xor r9, rdx
and r9, rbp
movzx ebp, byte [rax + rcx]
xor rbp, 0x30
add rbp, 0xffffffffffffffff
sar rbp, 0x3f
xor rdx, rcx
xor rdx, r9
and rdx, rbp
mov r9, rdx
xor r9, rcx
add rcx, 0xfffffffffffffffe
cmp rcx, 0xfffffffffffffffe
jne 0x140038990
lea r12, [rax + r14]
or r13, 1
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
xor ecx, ecx
mov qword [rsp + 0x28], r12
jmp 0x140038a03
add rcx, 1
mov rdx, r14
shr rdx, cl
test rdx, rdx
je 0x140038c0c
mov r11, r9
shr r11, cl
mov r10d, 1
shl r10, cl
mov r15, r14
sub r15, r10
jbe 0x1400389f0
and r11b, 1
neg r11b
cmp r15, 8
jb 0x140038a3b
cmp rax, r12
jae 0x140038a6f
mov rdx, r12
sub rdx, r10
lea rbp, [rax + r10]
cmp rbp, rdx
jae 0x140038a6f
mov rdi, r10
xor esi, esi
movzx edx, byte [rax + rsi]
movzx r8d, byte [rax + rdi]
mov ebx, r8d
xor bl, dl
and bl, r11b
xor dl, bl
mov byte [rax + rsi], dl
xor bl, r8b
mov byte [rax + rdi], bl
lea rdi, [rsi + r10]
add rdi, 1
add rsi, 1
cmp r15, rsi
jne 0x140038a40
jmp 0x1400389f0
movzx ebp, r11b
cmp r15, 0x10
jae 0x140038a80
xor esi, esi
jmp 0x140038b8a
mov rdi, r13
mov rsi, r15
and rsi, 0xfffffffffffffff0
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [rsi - 0x10]
mov r8, rdx
shr r8, 4
add r8, 1
test rdx, rdx
je 0x140038b36
mov rdx, qword [rsp + 0x30]
lea r13, [rdx + r10]
mov r12, r8
and r12, 0xfffffffffffffffe
neg r12
xor ebx, ebx
nop dword [rax]
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm2, xmmword [r13 + rbx - 0x10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqu xmmword [rax + rbx], xmm1
pxor xmm3, xmm2
movdqu xmmword [r13 + rbx - 0x10], xmm3
movdqu xmm1, xmmword [rax + rbx + 0x10]
movdqu xmm2, xmmword [r13 + rbx]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqu xmmword [rax + rbx + 0x10], xmm1
pxor xmm3, xmm2
movdqu xmmword [r13 + rbx], xmm3
add rbx, 0x20
add r12, 2
jne 0x140038ad0
jmp 0x140038b38
xor ebx, ebx
test r8b, 1
mov r13, rdi
mov r12, qword [rsp + 0x28]
je 0x140038b72
lea rdx, [r10 + rbx]
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm2, xmmword [rax + rdx]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqu xmmword [rax + rbx], xmm1
pxor xmm3, xmm2
movdqu xmmword [rax + rdx], xmm3
cmp r15, rsi
je 0x1400389f0
test r15b, 8
jne 0x140038b8a
lea rdi, [r10 + rsi]
jmp 0x140038a40
mov r12, rsi
mov r8, r13
sub r8, r10
mov rsi, r8
and rsi, 0xfffffffffffffff8
lea rdi, [r10 + rsi]
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
lea rdx, [rax + r12]
sub r12, rsi
nop word cs:[rax + rax]
nop dword [rax]
mov rbx, qword [rdx]
movq xmm1, rbx
mov rbp, qword [rdx + r10]
movq xmm2, rbp
xor rbp, rbx
movq xmm3, rbp
pand xmm3, xmm0
pxor xmm1, xmm3
movq qword [rdx], xmm1
pxor xmm3, xmm2
movq qword [rdx + r10], xmm3
add rdx, 8
add r12, 8
jne 0x140038bc0
cmp r8, rsi
mov r12, qword [rsp + 0x28]
jne 0x140038a40
jmp 0x1400389f0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret