Function at 0x14004c640
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
mov r13, rcx
push r12
mov r12, rdx
mov edx, 0x20
push rdi
xor edi, edi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x60
lea rcx, [rsp + 0x40]
call fcn.14015dd50
nop
mov eax, edi
mov ecx, edi
shr eax, 3
and ecx, 7
movzx r9d, byte [rsp + rax + 0x40]
mov eax, dword [r13 + rdi*4]
sar r9d, cl
lea ecx, [rax + rax]
and r9d, 1
sub ecx, r9d
mov dword [r12], ecx
mov eax, dword [r13 + rdi*4 + 0x400]
lea r10d, [rcx - 0xc01]
sar r10d, 0x1f
lea r8d, [rax + rax]
sub r8d, r9d
mov dword [r12 + 0x400], r8d
mov eax, dword [r13 + rdi*4 + 0x800]
lea r11d, [r8 - 0xc01]
sar r11d, 0x1f
lea edx, [rax + rax]
sub edx, r9d
mov dword [r12 + 0x800], edx
mov eax, dword [r13 + rdi*4 + 0xc00]
add eax, eax
sub eax, r9d
lea r9d, [rcx - 0x2401]
sar r9d, 0x1f
lea r10d, [r10 + r9 + 4]
lea r9d, [rcx - 0x3c02]
sar r9d, 0x1f
add r10d, r9d
lea r9d, [rcx - 0x5402]
sar r9d, 0x1f
lea ebx, [r10 + r9]
lea r10d, [rcx - 0x1801]
lea r9d, [rcx - 0x3001]
sar r10d, 0x1f
mov dword [rsp + 0x3c], ebx
sar r9d, 0x1f
lea r10d, [r10 + r9 + 3]
lea r9d, [rcx - 0x4802]
add ecx, ecx
sar r9d, 0x1f
add r10d, r9d
imul r9d, ebx, 0x3001
sub ecx, r9d
lea r9d, [r8 - 0x2401]
sar r9d, 0x1f
mov r14d, ecx
lea r11d, [r11 + r9 + 4]
lea r9d, [r8 - 0x3c02]
sar r14d, 0x1f
sar r9d, 0x1f
add r11d, r9d
lea r9d, [r8 - 0x5402]
sar r9d, 0x1f
lea esi, [r11 + r9]
lea r11d, [r8 - 0x1801]
lea r9d, [r8 - 0x3001]
sar r11d, 0x1f
mov dword [rsp + 0x38], esi
sar r9d, 0x1f
lea r11d, [r11 + r9 + 3]
lea r9d, [r8 - 0x4802]
add r8d, r8d
sar r9d, 0x1f
lea r15d, [r11 + r9]
imul r9d, esi, 0x3001
mov dword [rsp + 0x34], r15d
sub r8d, r9d
lea r9d, [rdx - 0xc01]
xor ecx, r14d
mov dword [rsp + 0x30], r8d
mov esi, r8d
lea r8d, [rdx - 0x2401]
sar r9d, 0x1f
sar r8d, 0x1f
sar esi, 0x1f
lea r9d, [r9 + r8 + 4]
lea r8d, [rdx - 0x3c02]
sar r8d, 0x1f
add r9d, r8d
lea r8d, [rdx - 0x5402]
sar r8d, 0x1f
lea r15d, [r9 + r8]
lea r9d, [rdx - 0x1801]
lea r8d, [rdx - 0x3001]
sar r9d, 0x1f
mov dword [rsp + 0x2c], r15d
sar r8d, 0x1f
lea r9d, [r9 + r8 + 3]
lea r8d, [rdx - 0x4802]
add edx, edx
sar r8d, 0x1f
add r9d, r8d
imul r8d, r15d, 0x3001
lea r15d, [rax - 0x1801]
sar r15d, 0x1f
sub edx, r8d
lea r8d, [rax - 0x2401]
mov r11d, edx
sar r8d, 0x1f
sar r11d, 0x1f
mov ebx, r11d
lea r11d, [rax - 0xc01]
sar r11d, 0x1f
lea r8d, [r11 + r8 + 4]
lea r11d, [rax - 0x3c02]
sar r11d, 0x1f
add r8d, r11d
lea r11d, [rax - 0x5402]
sar r11d, 0x1f
add r8d, r11d
lea r11d, [rax - 0x3001]
sar r11d, 0x1f
lea r11d, [r15 + r11 + 3]
lea r15d, [rax - 0x4802]
add eax, eax
sar r15d, 0x1f
add r11d, r15d
imul r15d, r8d, 0x3001
sub eax, r15d
mov r15d, eax
sar r15d, 0x1f
xor eax, r15d
sub eax, r15d
lea eax, [rax + rcx - 0x3001]
mov ecx, dword [rsp + 0x30]
sub eax, r14d
xor edx, ebx
xor r8d, r11d
add rdi, 1
xor ecx, esi
add r12, 4
add ecx, eax
mov eax, dword [rsp + 0x3c]
add ecx, edx
sub ecx, esi
xor eax, r10d
sub ecx, ebx
mov ebx, dword [rsp + 0x34]
sar ecx, 0x1f
and r8d, ecx
and eax, ecx
xor r8d, r11d
xor eax, r10d
sub eax, r8d
and eax, 3
mov dword [r12 - 4], eax
mov eax, dword [rsp + 0x38]
xor eax, ebx
and eax, ecx
xor eax, ebx
sub eax, r8d
and eax, 3
mov dword [r12 + 0x3fc], eax
mov eax, dword [rsp + 0x2c]
xor eax, r9d
and eax, ecx
xor eax, r9d
sub eax, r8d
and eax, 3
mov dword [r12 + 0x7fc], eax
lea eax, [rcx + r8*2 + 1]
and eax, 3
mov dword [r12 + 0xbfc], eax
cmp rdi, 0x100
jne 0x14004c670
lea rsp, [rbp - 0x38]
xor eax, eax
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret