Function at 0x1401a4424
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x98
mov eax, edx
mov r13d, r9d
mov r12, r8
mov rsi, rcx
test edx, edx
je 0x1401a44bf
mov edi, dword [rcx + 8]
mov r14d, eax
lea ebx, [rdi + 2]
mov rcx, qword [rsi]
lea r8, [rbp - 0x59]
mov edx, edi
call fcn.14018f20c
mov cl, byte [rbp - 0x59]
lea edx, [rbx - 1]
lea r8, [rbp - 0x58]
mov byte [rax], cl
mov rcx, qword [rsi]
call fcn.14018f20c
mov cl, byte [rbp - 0x58]
lea r8, [rbp - 0x57]
mov edx, ebx
mov byte [rax], cl
mov rcx, qword [rsi]
call fcn.14018f20c
mov cl, byte [rbp - 0x57]
lea edx, [rbx + 1]
lea r8, [rbp - 0x56]
mov byte [rax], cl
mov rcx, qword [rsi]
call fcn.14018f20c
mov cl, byte [rbp - 0x56]
add edi, 4
add ebx, 4
mov byte [rax], cl
sub r14, 1
jne 0x1401a4465
movaps xmm0, xmmword [r12]
movdqa xmmword [rbp - 0x39], xmm0
test r13d, r13d
je 0x1401a456f
mov r14d, dword [rbp - 0x31]
mov r15, qword [rbp - 0x39]
add r14d, 0xfffffffe
lea r14d, [r14 + r13*4]
lea edx, [r14 - 2]
mov rcx, r15
lea r8, [rbp - 0x56]
call fcn.14018f20c
lea edx, [r14 - 1]
mov rcx, r15
lea r8, [rbp - 0x57]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x56]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea r8, [rbp - 0x58]
mov edx, r14d
mov rcx, r15
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x57]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea edx, [r14 + 1]
mov rcx, r15
lea r8, [rbp - 0x59]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x58]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rbp - 0x59]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a4579
dec r13d
add r14d, 0xfffffffc
mov dword [rbp + 0x7f], r13d
test r13d, r13d
jne 0x1401a44e2
mov r13d, 1
mov dword [rbp + 0x7f], r13d
mov ecx, dword [rsi + 8]
lea r14d, [r13 - 1]
mov rax, qword [rsi]
add ecx, 4
movaps xmm1, xmmword [r12]
mov dword [rbp - 0x31], ecx
mov qword [rbp - 0x39], rax
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x39], xmm0
mov dword [rbp - 0x19], r14d
movdqu xmmword [rbp - 0x29], xmm1
test r14d, r14d
je 0x1401a48c7
mov r15d, dword [rbp - 0x21]
lea eax, [r14*4]
mov r12d, dword [rbp - 0x31]
add r15d, 4
mov dword [rbp - 9], r15d
mov dword [rbp - 0x15], eax
mov dword [rbp - 0x11], r12d
cmp r14d, dword [rbp + 0x6f]
jae 0x1401a48bb
mov rcx, qword [rbp - 0x29]
lea edx, [r15 - 4]
lea r8, [rbp - 0x56]
call fcn.14018f20c
mov rcx, qword [rbp - 0x29]
lea edx, [r15 - 3]
lea r8, [rbp - 0x57]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x56]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov rcx, qword [rbp - 0x29]
lea r8, [rbp - 0x58]
lea edx, [r15 - 2]
movzx esi, byte [rax]
movzx eax, byte [rbp - 0x57]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
mov rcx, qword [rbp - 0x29]
lea edx, [r15 - 1]
lea r8, [rbp - 0x59]
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x58]
xor edi, eax
add edi, esi
ror edi, 8
call fcn.14018f20c
movzx ecx, byte [rbp - 0x59]
xor r13d, r13d
mov rsi, qword [rbp - 0x39]
movzx eax, byte [rax]
xor ecx, eax
add ecx, edi
ror ecx, 8
test r14d, r14d
je 0x1401a4828
mov eax, ecx
lea edi, [r12 + 3]
mov qword [rbp + 7], rax
mov eax, r15d
sub eax, r12d
mov dword [rbp - 0x55], edi
mov dword [rbp - 0x41], eax
mov eax, r14d
mov qword [rbp - 1], rax
lea r12d, [rdi - 3]
mov rcx, rsi
mov edx, r12d
lea r8, [rbp - 0x51]
call fcn.14018f20c
movzx ebx, byte [rbp - 0x51]
lea r15d, [rdi - 2]
lea r8, [rbp - 0x50]
mov edx, r15d
mov rcx, rsi
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov r14d, dword [rbp - 0x55]
lea r8, [rbp - 0x4f]
mov rcx, rsi
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x50]
lea edx, [r14 - 1]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea r8, [rbp - 0x4e]
mov edx, r14d
mov rcx, rsi
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x4f]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
mov edi, dword [rbp - 0x41]
lea r8, [rbp - 0x4d]
mov rcx, qword [rbp - 0x29]
mov edx, r14d
add edx, 0xfffffffd
movzx esi, byte [rax]
add edx, edi
movzx eax, byte [rbp - 0x4e]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
mov rcx, qword [rbp - 0x29]
lea r8, [rbp - 0x4c]
mov edx, r14d
add edi, 0xfffffffe
add edx, edi
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x4d]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rbp - 0x4c]
lea r8, [rbp - 0x4b]
mov rcx, qword [rbp - 0x29]
mov edx, r14d
movzx eax, byte [rax]
xor edi, eax
mov eax, dword [rbp - 0x41]
dec eax
add edi, ebx
add edx, eax
ror edi, 8
call fcn.14018f20c
mov edx, dword [rbp - 0x41]
lea r8, [rbp - 0x4a]
movzx ebx, byte [rbp - 0x4b]
add edx, r14d
mov rcx, qword [rbp - 0x29]
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x4a]
xor edi, eax
add edi, ebx
ror edi, 8
lea r8, [rbp - 0x49]
imul rdi, qword [rbp + 7]
mov eax, esi
mov edx, r12d
mov rsi, qword [rbp - 0x39]
add rdi, rax
mov eax, r13d
mov rcx, rsi
add rdi, rax
mov ebx, edi
call fcn.14018f20c
mov cl, dil
shr ebx, 8
xor cl, byte [rbp - 0x49]
lea r8, [rbp - 0x48]
mov edx, r15d
mov byte [rax], cl
mov rcx, rsi
call fcn.14018f20c
mov cl, bl
lea r8, [rbp - 0x47]
xor cl, byte [rbp - 0x48]
lea edx, [r14 - 1]
shr ebx, 8
mov byte [rax], cl
mov rcx, rsi
call fcn.14018f20c
mov cl, bl
lea r8, [rbp - 0x46]
xor cl, byte [rbp - 0x47]
mov edx, r14d
mov byte [rax], cl
mov rcx, rsi
call fcn.14018f20c
mov r13, rdi
shr ebx, 8
xor bl, byte [rbp - 0x46]
mov edi, r14d
add edi, 4
shr r13, 0x20
sub qword [rbp - 1], 1
mov byte [rax], bl
mov dword [rbp - 0x55], edi
jne 0x1401a467e
mov r14d, dword [rbp - 0x19]
mov r15d, dword [rbp - 9]
mov r12d, dword [rbp - 0x11]
mov edi, dword [rbp - 0x15]
lea r8, [rbp - 0x45]
mov rcx, rsi
lea edx, [rdi + r12]
lea ebx, [rdx + 1]
call fcn.14018f20c
mov cl, r13b
lea r8, [rbp - 0x44]
xor cl, byte [rbp - 0x45]
mov edx, ebx
shr r13d, 8
mov byte [rax], cl
mov rcx, rsi
call fcn.14018f20c
mov cl, byte [rbp - 0x44]
lea r8, [rbp - 0x43]
xor cl, r13b
lea edx, [rbx + 1]
shr r13d, 8
mov byte [rax], cl
mov rcx, rsi
call fcn.14018f20c
mov cl, byte [rbp - 0x43]
lea edx, [rbx + 2]
xor cl, r13b
lea r8, [rbp - 0x42]
mov byte [rax], cl
mov rcx, rsi
call fcn.14018f20c
shr r13d, 8
dec r14d
xor r13b, byte [rbp - 0x42]
add edi, 0xfffffffc
add r12d, 8
mov dword [rbp - 0x19], r14d
add r15d, 4
mov byte [rax], r13b
mov dword [rbp - 0x15], edi
mov dword [rbp - 0x11], r12d
mov dword [rbp - 9], r15d
test r14d, r14d
jne 0x1401a45cc
mov r13d, dword [rbp + 0x7f]
mov rsi, qword [rbp + 0x67]
mov r12, qword [rbp + 0x77]
movaps xmm0, xmmword [rsi]
lea r9d, [r13*2]
movaps xmm1, xmm0
movdqa xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
movdqa xmmword [rbp - 0x29], xmm0
lea rdx, [rbp - 0x29]
movdqa xmmword [rbp + 7], xmm0
lea rcx, [rbp + 7]
call fcn.1401a3e54
movaps xmm0, xmmword [r12]
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
lea rcx, [rbp - 0x29]
mov r9d, r13d
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmmword [rbp - 0x29], xmm1
call fcn.1401a4078
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret