Function at 0x140019300
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x20
xor edi, edi
lea r12, [0x140073641]
movzx esi, r9b
mov rbp, r8
mov r9, rdx
mov rbx, rcx
mov r11, r12
mov r10d, edi
mov r8d, edi
nop dword [rax]
movzx ecx, r10b
mov rax, r8
add r11, 2
sar rax, 3
and cl, 7
movzx edx, byte [rax + r9]
lea rax, [r8 + 1]
add r8, 2
sar dl, cl
sar rax, 3
lea ecx, [r10 + 1]
and dl, 1
and cl, 7
add r10d, 2
mov byte [r11 - 3], dl
movzx eax, byte [rax + r9]
sar al, cl
and al, 1
mov byte [r11 - 2], al
cmp r10d, 0x40
jl 0x140019340
mov rcx, rdi
lea r14, [0x140000000]
lea r13, [0x140073640]
nop dword [rax + rax]
movsx rax, byte [rcx + r14 + 0x54c50]
add rcx, 4
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x6d94c], al
movsx rax, byte [rcx + r14 + 0x54c4d]
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x6d94d], al
movsx rax, byte [rcx + r14 + 0x54c4e]
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x6d94e], al
movsx rax, byte [rcx + r14 + 0x54c4f]
movzx eax, byte [rax + r13 - 1]
mov byte [rcx + r14 + 0x6d94f], al
cmp rcx, 0x40
jl 0x1400193a0
mov rax, qword [0x14006d950]
mov qword [0x140073640], rax
mov rax, qword [0x14006d958]
mov qword [0x140073648], rax
mov rax, qword [0x14006d960]
mov qword [0x140073650], rax
mov rax, qword [0x14006d968]
mov qword [0x140073658], rax
mov rax, qword [0x14006d970]
mov qword [0x140073660], rax
mov rax, qword [0x14006d978]
mov qword [0x140073668], rax
mov rax, qword [0x14006d980]
mov qword [0x140073670], rax
mov rax, qword [0x14006d988]
mov qword [0x140073678], rax
test sil, sil
jne 0x140019511
mov esi, 0x10
nop word [rax + rax]
movups xmm0, xmmword [0x140073660]
movups xmm1, xmmword [0x140073670]
lea rcx, [0x140073660]
mov rdx, rbp
movups xmmword [0x140073ac0], xmm0
movups xmmword [0x140073ad0], xmm1
call fcn.140019a20
mov r11, rdi
nop
movzx eax, byte [r11 + r13]
add r11, 4
xor byte [r11 + r13 + 0x1c], al
movzx eax, byte [r11 + r13 - 3]
xor byte [r11 + r13 + 0x1d], al
movzx eax, byte [r11 + r13 - 2]
xor byte [r11 + r13 + 0x1e], al
movzx eax, byte [r11 + r13 - 1]
xor byte [r11 + r13 + 0x1f], al
cmp r11, 0x20
jl 0x1400194c0
add rbp, 0x30
dec rsi
movups xmmword [0x140073640], xmm0
movups xmmword [0x140073650], xmm1
jne 0x140019490
jmp 0x1400195a0
mov esi, 0xf
add rbp, 0x2d0
nop dword [rax]
movups xmm0, xmmword [0x140073640]
movups xmm1, xmmword [0x140073650]
mov rdx, rbp
mov rcx, r13
movups xmmword [0x140073ac0], xmm0
movups xmmword [0x140073ad0], xmm1
call fcn.140019a20
mov r11, rdi
nop word [rax + rax]
movzx eax, byte [r11 + r13 + 0x20]
add r11, 4
xor byte [r11 + r13 - 4], al
movzx eax, byte [r11 + r13 + 0x1d]
xor byte [r11 + r13 - 3], al
movzx eax, byte [r11 + r13 + 0x1e]
xor byte [r11 + r13 - 2], al
movzx eax, byte [r11 + r13 + 0x1f]
xor byte [r11 + r13 - 1], al
cmp r11, 0x20
jl 0x140019550
sub rbp, 0x30
dec esi
movups xmmword [0x140073660], xmm0
movups xmmword [0x140073670], xmm1
jns 0x140019520
nop dword [rax]
movsx rax, byte [rdi + r14 + 0x54c90]
add rdi, 4
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x6d94c], al
movsx rax, byte [rdi + r14 + 0x54c8d]
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x6d94d], al
movsx rax, byte [rdi + r14 + 0x54c8e]
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x6d94e], al
movsx rax, byte [rdi + r14 + 0x54c8f]
movzx eax, byte [rax + r13 - 1]
mov byte [rdi + r14 + 0x6d94f], al
cmp rdi, 0x40
jl 0x1400195a0
mov rax, qword [0x14006d950]
mov r8d, 2
mov qword [0x140073640], rax
mov rax, qword [0x14006d958]
mov r9d, r8d
mov qword [0x140073648], rax
mov rax, qword [0x14006d960]
mov qword [0x140073650], rax
mov rax, qword [0x14006d968]
mov qword [0x140073658], rax
mov rax, qword [0x14006d970]
mov qword [0x140073660], rax
mov rax, qword [0x14006d978]
mov qword [0x140073668], rax
mov rax, qword [0x14006d980]
mov qword [0x140073670], rax
mov rax, qword [0x14006d988]
mov qword [0x140073678], rax
xor eax, eax
mov qword [rbx], rax
nop word [rax + rax]
movzx eax, byte [r12 - 1]
lea ecx, [r8 - 2]
lea rdx, [r9 - 2]
and ecx, 7
sar rdx, 3
add r12, 4
shl al, cl
lea ecx, [r8 - 1]
or byte [rdx + rbx], al
movzx eax, byte [r12 - 4]
and ecx, 7
shl al, cl
lea rdx, [r9 - 1]
mov ecx, r8d
sar rdx, 3
and ecx, 7
or byte [rdx + rbx], al
movzx eax, byte [r12 - 3]
mov rdx, r9
shl al, cl
sar rdx, 3
lea ecx, [r8 + 1]
or byte [rdx + rbx], al
movzx eax, byte [r12 - 2]
lea rdx, [r9 + 1]
and ecx, 7
sar rdx, 3
add r8d, 4
shl al, cl
add r9, 4
or byte [rdx + rbx], al
lea eax, [r8 - 2]
cmp eax, 0x40
jl 0x140019690
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop r12
ret