Function at 0x1400121ec
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rdi, qword [0x140156238]
mov r14, rdx
movsxd r10, dword [0x1401561c0]
xor edx, edx
mov rsi, qword [rsp + 0xb0]
mov r11, r8
movzx ebx, word [0x1401561ec]
mov r12, r9
movzx r8d, word [0x14015622c]
movzx ebp, cx
movzx eax, word [rsi + rdi*8]
mov r9d, ebp
imul rax, rax, 0x18bc
movsxd r15, dword [r11 + r8*4]
mov qword [rsp + 0x30], rax
mov rax, r10
div qword [0x1401561b0]
xor r9, qword [0x1401561c8]
mov eax, 0x1434
mov qword [rsp + 0x18], rdx
xor edx, edx
div ebx
movzx ecx, di
movsxd r13, eax
movzx eax, word [0x1401561e8]
cdq
imul ecx, ebp
idiv dword [0x1401561c4]
mov word [rsp + 0x28], cx
mov ecx, r8d
cdqe
mov qword [rsp + 0x10], rax
mov eax, 0xcfde7a6d
mul r8d
mov eax, dword [r11 + r10*4]
sub ecx, edx
mov qword [rsp + 8], rbp
shr ecx, 1
add ecx, edx
mov edx, ebp
shr ecx, 0xc
mov dword [rsp], ecx
mov rcx, qword [0x1401561e0]
movzx r8d, word [rcx + rdx*8]
cdq
movzx ecx, byte [0x1401561da]
idiv r8d
mov r8, qword [0x140156220]
mov eax, ebp
mov dword [rsp + 0xb0], edx
inc bp
movzx r10d, bp
mov word [rsp + 0x90], bp
movzx eax, word [r14 + rax*2]
mov qword [rsp + 0x20], rax
lea eax, [r10 + 0x1305]
mov r11d, eax
mov eax, dword [rax + rdi*4]
mov edi, 1
xor eax, ebx
movzx ebx, bp
cdq
idiv ecx
mov rdx, qword [rsp + 8]
lea ecx, [rbx + 0x13]
imul eax, r10d
and dword [r9 + r8*4], eax
lea r9d, [rbx + 1]
add word [0x1401561ec], di
mov r10d, dword [0x1401561c0]
mov rax, qword [rsp + 0x10]
add r10d, edi
mov dword [0x1401561c0], r10d
movzx eax, byte [rcx + rax]
movsxd rcx, dword [r11]
movzx r8d, byte [rcx + rdx]
xor edx, edx
div r8d
mov r8, qword [rsp + 0x18]
cdq
idiv r8d
movsxd rcx, r10d
movzx edx, word [rsi + rcx*2]
mov rcx, qword [rsp + 0xa0]
sub eax, edx
add dword [rcx + r9*4], eax
movzx ecx, byte [0x1401561da]
mov eax, ecx
add eax, eax
movzx ecx, word [rsi + rcx*2]
movsxd r9, dword [r12 + rax*4]
cmp r9d, ecx
jne 0x14001247e
mov r14, qword [rsp + 0xa0]
lea edi, [rbx + 6]
mov rbp, qword [rsp + 8]
lea rbx, [rsi + r9*8]
mov r12, qword [rsp + 0x10]
mov r11d, 0x15ea
movsxd rdx, r8d
sub r11, r15
lea r10, [r15 + rdx*4]
mov r15, qword [rsp + 0x20]
movzx ecx, word [rsi + 0x3092]
movsxd rax, dword [0x1401561c0]
movzx r8d, word [rbp]
mov eax, dword [rax*4 + 0x15b6]
xor eax, ecx
movzx ecx, word [rsi + r8*2]
cdq
idiv ecx
mov word [rsi + r8*2], ax
mov eax, 0x4ca
movzx ecx, word [rax]
mov al, byte [r10]
mov byte [rcx + r12], al
mov ecx, r9d
movzx eax, word [r13]
xor ecx, 0x1f18
inc r9d
mov edx, dword [r14 + rax*4]
movzx eax, word [0x1401561d8]
imul edx, ecx
or edx, dword [rax*4 + 0x15b6]
add dword [0x1401561dc], edx
movzx eax, word [0x1401561e8]
or qword [r15 + rdi*8], rax
movzx eax, word [r11 + r10]
lea r10, [r10 - 4]
movzx ecx, word [0x1401561c0]
add cx, word [0x1401561e8]
and ax, cx
mov word [rbx], ax
lea rbx, [rbx + 8]
movzx eax, byte [0x1401561da]
movzx ecx, word [rsi + rax*2]
cmp r9d, ecx
je 0x1400123bd
mov r14, qword [rsp + 0x98]
mov edi, 1
movzx ebp, word [rsp + 0x90]
mov r12, qword [rsp + 0xa8]
movsxd rcx, dword [0x1401561dc]
mov rdx, qword [0x1401561f0]
movsxd rax, dword [rsp + 0xb0]
or rcx, rax
movzx r8d, bp
movzx eax, word [rsp + 0x28]
or qword [rdx + r8*8], rcx
xor edx, edx
movzx ecx, word [r12 + rax*4 + 4]
or word [rsi + r8*2], cx
movzx eax, word [0x14015622c]
movzx ecx, bp
movzx eax, word [r12 + rax*4]
mov word [r14 + rcx*8], ax
mov eax, 0x4ca
add word [rax], di
movzx ecx, word [rax]
movzx eax, word [r13 + 0x3086]
div qword [0x140156218]
xor word [r14 + rcx*4], dx
xor edx, edx
movzx eax, word [0x1401561d8]
movzx ecx, word [0x1401561c0]
add cx, word [rsp]
movzx eax, word [rax + rax + 0x4ca]
div qword [0x140156218]
movzx eax, word [0x14015622c]
add ax, di
mov word [0x1401561e8], dx
mov word [0x14015622c], ax
movzx eax, ax
mov word [r14 + rax*2], cx
movzx eax, byte [0x1401561da]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + rax*8]
or rax, 0xb11
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret