Function at 0x14014cd90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov r12d, 4
lea r15, [rsp + 0x10]
mov edi, r12d
mov r10, rcx
nop dword [rax]
bsr edx, edi
xor ebx, ebx
mov eax, edi
mov r9d, edi
lea ecx, [rdx - 1]
shr eax, cl
lea r8d, [rbx + 1]
and eax, 1
lea edx, [rax + rdx*2]
mov r11d, edx
mov eax, edx
and eax, 1
shr r11d, 1
dec r11d
or eax, 2
mov ecx, r11d
shl eax, cl
sub r9d, eax
test r11d, r11d
je 0x14014ce51
mov esi, edx
mov r14d, eax
nop dword [rax]
mov eax, r8d
mov edx, r9d
sub rax, rsi
shr r9d, 1
add rax, r14
and edx, 1
add r8d, r8d
or r8d, edx
movzx ecx, word [r10 + rax*2 + 0x323de]
mov eax, edx
neg eax
shr rcx, 4
sar rax, 4
and eax, 0x7f
xor rcx, rax
add ebx, dword [r10 + rcx*4 + 0x3076c]
sub r11d, 1
jne 0x14014ce10
mov dword [r15], ebx
inc edi
add r15, r12
cmp edi, 0x80
jb 0x14014cdd0
lea rsi, [r10 + 0x3161c]
lea rdi, [r10 + 0x3121c]
lea rbx, [r10 + 0x321e0]
nop word [rax + rax]
mov eax, dword [r10 + 0x31e60]
xor r11d, r11d
test eax, eax
je 0x14014cee1
nop
xor r9d, r9d
mov eax, r11d
or eax, 0x40
nop dword [rax]
mov edx, eax
mov ecx, eax
and edx, 1
shr rcx, 1
neg edx
shr eax, 1
sar rdx, 4
and edx, 0x7f
movzx r8d, word [rbx + rcx*2]
shr r8, 4
xor r8, rdx
add r9d, dword [r10 + r8*4 + 0x3076c]
cmp eax, 1
jne 0x14014cea0
mov dword [rdi + r11*4], r9d
inc r11d
mov eax, dword [r10 + 0x31e60]
cmp r11d, eax
jb 0x14014ce90
mov edx, 0xe
cmp eax, edx
jbe 0x14014cf10
nop word [rax + rax]
mov eax, edx
lea rcx, [rdi + rax*4]
mov eax, edx
shr eax, 1
inc edx
shl eax, 4
sub eax, 0x50
add dword [rcx], eax
cmp edx, dword [r10 + 0x31e60]
jb 0x14014cef0
nop dword [rax]
mov eax, dword [rdi]
mov r11d, 6
mov dword [rsi], eax
mov eax, dword [rdi + 4]
mov dword [rsi + 4], eax
mov eax, dword [rdi + 8]
mov dword [rsi + 8], eax
mov eax, dword [rdi + 0xc]
mov dword [rsi + 0xc], eax
nop dword [rax]
lea eax, [r11 - 2]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 - 1]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
mov eax, r11d
bsr edx, r11d
lea r8, [rax*4]
mov eax, r11d
lea ecx, [rdx - 1]
shr eax, cl
and eax, 1
lea eax, [rax + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r8]
mov dword [r8 + rsi], eax
lea eax, [r11 + 1]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 2]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 3]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 4]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 5]
mov r8d, eax
bsr edx, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 6]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 7]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 8]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 9]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 0xa]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 0xb]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [rsi + r9], eax
lea eax, [r11 + 0xc]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0xd]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0xe]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0xf]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x10]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x11]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x12]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x13]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x14]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x15]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x16]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x17]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x18]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x19]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x1a]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x1b]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 + 0x1c]
bsr edx, eax
mov r8d, eax
lea r9, [rax*4]
add r11d, 0x1f
lea ecx, [rdx - 1]
shr r8d, cl
and r8d, 1
lea eax, [r8 + rdx*2]
mov eax, dword [rdi + rax*4]
add eax, dword [rsp + r9]
mov dword [r9 + rsi], eax
lea eax, [r11 - 2]
cmp eax, 0x80
jb 0x14014cf30
sub rbx, 0xffffffffffffff80
add rdi, 0x100
add rsi, 0x200
sub r12, 1
jne 0x14014ce80
lea r11, [rsp + 0x200]
mov dword [r10 + 0x3b5d8], r12d
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret