Function at 0x1400026e8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
xor r8d, r8d
mov r14, rcx
lea esi, [r8 + 1]
mov eax, dword [rdx + r8*8]
mov dword [rbp + r8*4 - 0x30], eax
add r8, rsi
cmp r8, 0xa
jl 0x14000270d
mov edx, dword [rbp - 0x30]
mov ebx, 2
mov edi, ebx
xor ecx, ecx
lea r10, [rbp - 0x30]
mov r8d, edx
lea r11, [r10 + 4]
mov edx, dword [r11]
mov r9d, r8d
sar r9d, 0x1f
mov eax, r8d
test sil, cl
je 0x140002757
sar eax, 0x19
and eax, r9d
neg eax
sub edx, eax
shl eax, 0x19
jmp 0x140002764
sar eax, 0x1a
and eax, r9d
neg eax
sub edx, eax
shl eax, 0x1a
add eax, r8d
mov dword [r11], edx
add ecx, esi
mov dword [r10], eax
mov r10, r11
cmp ecx, 9
jl 0x14000272f
mov ecx, dword [rbp - 0xc]
mov edx, ecx
sar edx, 0x1f
mov eax, ecx
sar eax, 0x19
and edx, eax
mov eax, edx
imul edx, edx, 0x13
neg eax
shl eax, 0x19
add ecx, eax
mov dword [rbp - 0xc], ecx
add edx, dword [rbp - 0x30]
mov dword [rbp - 0x30], edx
sub rdi, rsi
jne 0x140002729
mov ecx, edx
mov eax, edx
sar ecx, 0x1f
mov r15d, 0x1ffffff
sar eax, 0x1a
and ecx, eax
neg ecx
mov r10d, ecx
shl r10d, 0x1a
add r10d, edx
sub dword [rbp - 0x2c], ecx
mov dword [rbp - 0x30], r10d
xor r11d, r11d
lea rdi, [rbp - 0x30]
mov eax, r10d
lea r8, [rdi + 4]
mov edx, r10d
sar eax, 0x1a
sar r10d, 0x19
mov r9d, r11d
and r9d, esi
cmove r10d, eax
xor r9d, esi
add r10d, dword [r8]
add r11d, esi
shl r9d, 0x19
add r9d, r15d
mov dword [r8], r10d
and r9d, edx
mov dword [rdi], r9d
lea rdi, [r8]
cmp r11d, 9
jl 0x1400027cc
mov eax, dword [rbp - 0xc]
mov ecx, eax
sar ecx, 0x19
and eax, r15d
imul r10d, ecx, 0x13
mov dword [rbp - 0xc], eax
add r10d, dword [rbp - 0x30]
mov dword [rbp - 0x30], r10d
sub rbx, rsi
jne 0x1400027c5
lea edx, [r10 - 0x3ffffed]
mov r8d, esi
sar edx, 0x1f
lea r9, [rbp - 0x2c]
not edx
mov r11d, 0x3ffffff
mov ecx, dword [r9]
test sil, r8b
je 0x14000284e
xor ecx, r15d
jmp 0x140002851
xor ecx, r11d
not ecx
add r8d, esi
mov eax, ecx
add r9, 4
shl eax, 0x10
and ecx, eax
mov eax, ecx
shl eax, 8
and ecx, eax
mov eax, ecx
shl eax, 4
and ecx, eax
lea eax, [rcx*4]
and ecx, eax
lea eax, [rcx + rcx]
sar ecx, 0x1f
sar eax, 0x1f
and eax, ecx
and eax, edx
mov edx, eax
cmp r8d, 0xa
jl 0x140002841
and eax, 0x3ffffed
lea r9, [rbp - 0x2c]
sub r10d, eax
mov r8d, esi
mov dword [rbp - 0x30], r10d
mov ecx, dword [r9]
mov eax, edx
test sil, r8b
je 0x1400028af
and eax, r15d
jmp 0x1400028b2
and eax, r11d
sub ecx, eax
add r8d, esi
mov dword [r9], ecx
add r9, 4
cmp r8d, 0xa
jl 0x1400028a0
mov eax, dword [rbp - 0x2c]
mov ecx, dword [rbp - 0x30]
mov r9d, dword [rbp - 0x24]
mov r10d, dword [rbp - 0x20]
lea edx, [rax*4]
mov edi, dword [rbp - 0x10]
mov eax, dword [rbp - 0x28]
mov esi, dword [rbp - 0xc]
shl r9d, 5
shl r10d, 6
lea r8d, [rax*8]
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x28], r8d
mov dword [rbp - 0x24], r9d
shl edi, 4
lea r11d, [rax + rax]
shl esi, 6
mov eax, dword [rbp - 0x14]
mov dword [rbp - 0x20], r10d
mov dword [rbp - 0x18], r11d
mov dword [rbp - 0x10], edi
lea ebx, [rax*8]
mov dword [rbp - 0xc], esi
mov al, byte [rbp - 0x30]
mov byte [r14], al
mov eax, ecx
sar eax, 8
mov byte [r14 + 1], al
mov eax, ecx
sar eax, 0x10
mov byte [r14 + 2], al
mov eax, edx
sar eax, 8
mov byte [r14 + 4], al
mov eax, edx
sar eax, 0x10
mov byte [r14 + 5], al
mov eax, r8d
sar eax, 8
mov byte [r14 + 7], al
mov eax, r8d
sar eax, 0x10
mov byte [r14 + 8], al
mov eax, r9d
sar eax, 8
mov byte [r14 + 0xa], al
mov eax, r9d
sar eax, 0x10
mov byte [r14 + 0xb], al
mov eax, r10d
sar eax, 8
mov byte [r14 + 0xd], al
mov eax, r10d
sar eax, 0x10
mov byte [r14 + 0xe], al
mov al, byte [rbp - 0x1c]
mov byte [r14 + 0x10], al
sar ecx, 0x18
or cl, dl
mov dword [rbp - 0x14], ebx
mov byte [r14 + 3], cl
mov ecx, dword [rbp - 0x1c]
mov eax, ecx
sar eax, 8
sar edx, 0x18
or dl, r8b
mov byte [r14 + 0x11], al
sar r8d, 0x18
mov eax, ecx
or r8b, r9b
sar eax, 0x10
sar r9d, 0x18
or r9b, r10b
mov byte [r14 + 0x12], al
sar r10d, 0x18
sar ecx, 0x18
mov byte [r14 + 6], dl
mov byte [r14 + 9], r8b
mov byte [r14 + 0xc], r9b
mov byte [r14 + 0xf], r10b
or cl, r11b
mov eax, r11d
sar eax, 8
mov byte [r14 + 0x14], al
mov eax, r11d
sar eax, 0x10
mov byte [r14 + 0x15], al
mov eax, ebx
sar eax, 8
mov byte [r14 + 0x17], al
mov eax, ebx
sar eax, 0x10
mov byte [r14 + 0x18], al
mov eax, edi
sar eax, 8
mov byte [r14 + 0x1a], al
mov eax, edi
sar eax, 0x10
mov byte [r14 + 0x1b], al
mov eax, esi
sar eax, 8
sar r11d, 0x18
or r11b, bl
mov byte [r14 + 0x1d], al
sar ebx, 0x18
mov eax, esi
or bl, dil
sar eax, 0x10
sar edi, 0x18
or dil, sil
mov byte [r14 + 0x19], bl
mov rbx, qword [rsp + 0x50]
sar esi, 0x18
mov byte [r14 + 0x1f], sil
mov rsi, qword [rsp + 0x58]
mov byte [r14 + 0x1c], dil
mov rdi, qword [rsp + 0x60]
mov byte [r14 + 0x13], cl
mov byte [r14 + 0x16], r11b
mov byte [r14 + 0x1e], al
add rsp, 0x30
pop r15
pop r14
pop rbp
ret