Function at 0x1400fab78
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x14016a900]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r14d, 1
mov ebp, r8d
add dword [rcx + 0x1f4], r14d
mov rdi, rdx
mov rsi, rcx
cmp dword [rcx + 0x1f4], r14d
jne 0x1400fabda
xor ecx, ecx
call fcn.140117a2c
mov rbx, rax
call fcn.14011954c
xor eax, ebx
mov ecx, eax
call fcn.140117a14
mov r8d, 0x80
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14009a13c
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400fae70
xor ebx, ebx
lea r15, [0x140211150]
mov r12d, 0xfffd
call fcn.1401179e8
mov r9d, dword [rsi + 0x1f0]
mov r11d, eax
mov r8d, dword [rsi + 0x1e8]
mov r10d, r9d
sar r11d, 7
mov edx, r8d
mov ecx, r11d
shr r8d, 8
xor rdx, rcx
and r10d, r12d
or r10d, 2
movzx ecx, dl
xor r8d, dword [r15 + rcx*4]
movzx eax, r8b
add eax, dword [rsi + 0x1ec]
imul eax, eax, 0x8088405
mov dword [rsi + 0x1e8], r8d
add eax, r14d
mov dword [rsi + 0x1ec], eax
shr rax, 0x18
xor rax, r9
shr r9d, 8
movzx eax, al
xor r9d, dword [r15 + rax*4]
mov eax, r10d
xor eax, r14d
mov dword [rsi + 0x1f0], r9d
imul eax, r10d
shr eax, 8
xor al, r11b
mov byte [rsp + rbx + 0x30], al
add rbx, r14
cmp rbx, 0xa
jl 0x1400fac09
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400fae70
mov r11d, dword [rsi + 0x1f0]
xor r10d, r10d
mov edx, dword [rsi + 0x1ec]
mov ebx, dword [rsi + 0x1e8]
movzx r8d, byte [rsp + r10 + 0x30]
mov r9d, r11d
mov eax, r8d
and r9d, r12d
xor rax, rbx
or r9d, 2
movzx ecx, al
mov eax, ebx
shr eax, 8
xor eax, dword [r15 + rcx*4]
mov ebx, eax
mov dword [rsi + 0x1e8], eax
movzx eax, al
add eax, edx
imul edx, eax, 0x8088405
add edx, r14d
mov eax, edx
mov dword [rsi + 0x1ec], edx
shr rax, 0x18
xor rax, r11
movzx ecx, al
mov eax, r11d
shr eax, 8
xor eax, dword [r15 + rcx*4]
mov r11d, eax
mov dword [rsi + 0x1f0], eax
mov eax, r9d
xor eax, r14d
imul eax, r9d
shr eax, 8
xor al, r8b
mov byte [rsp + r10 + 0x30], al
add r10, r14
cmp r10, 0xa
jl 0x1400facbe
mov edx, 0x80
lea rcx, [rsp + 0x40]
call fcn.14009a3b0
mov edx, dword [rsi + 0x1e8]
mov r8d, ebp
mov edi, dword [rsi + 0x1f0]
mov r9d, edi
and dword [rsp + 0x20], 0
and r9d, r12d
shr r8d, 0x10
or r9d, 2
mov eax, r8d
shr ebp, 0x18
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r15 + rcx*4]
mov dword [rsi + 0x1e8], edx
mov ebx, edx
movzx eax, dl
lea rdx, [rsp + 0x30]
add eax, dword [rsi + 0x1ec]
imul r10d, eax, 0x8088405
add r10d, r14d
mov dword [rsi + 0x1ec], r10d
mov eax, r10d
shr rax, 0x18
xor rax, rdi
shr edi, 8
movzx ecx, al
mov eax, r9d
xor eax, r14d
imul eax, r9d
mov r9d, 0xc
xor edi, dword [r15 + rcx*4]
mov dword [rsi + 0x1f0], edi
mov r11d, edi
and edi, r12d
shr eax, 8
or edi, 2
xor al, r8b
mov r8, r14
mov byte [rsp + 0x3a], al
mov eax, ebp
xor rax, rbx
shr ebx, 8
movzx ecx, al
xor ebx, dword [r15 + rcx*4]
mov rcx, rsi
movzx eax, bl
add eax, r10d
mov dword [rsi + 0x1e8], ebx
imul eax, eax, 0x8088405
add eax, r14d
mov dword [rsi + 0x1ec], eax
shr rax, 0x18
xor rax, r11
shr r11d, 8
movzx eax, al
xor r11d, dword [r15 + rax*4]
mov eax, edi
xor eax, r14d
mov dword [rsi + 0x1f0], r11d
imul eax, edi
shr eax, 8
xor al, bpl
mov byte [rsp + 0x3b], al
call fcn.1400f9bcc
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140105c50
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret