Function at 0x1400afbb4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov r15, qword [rcx + 0x10]
and qword [rax + 0x18], 0
mov eax, 0xfffffff
mov r10d, dword [r15 + 9]
inc r15
lea r11, [0x140000000]
mov r8d, dword [r15]
and r10, rax
mov rdi, rcx
shr r8, 1
mov rcx, r11
add r10, r11
and r8, rax
mov rax, qword [0x14010bb18]
mov rsi, rdx
sub rcx, rax
mov qword [rsp + 0x28], r15
mov r14, 0xfffffffffffff000
mov qword [rsp + 0x30], rcx
jne 0x1400afcb6
xor r11d, r11d
test r8, r8
je 0x1400affe1
mov eax, dword [rbp + 0x24]
mov r9d, dword [rbp + 0x20]
mov r13d, 0x7fffffff
movzx ecx, byte [r11 + r10]
inc r11
add ecx, 0x5434ea14
add r9d, ecx
add ecx, eax
mov eax, ecx
ror ecx, 4
imul eax, eax, 0x1ed8
rol eax, 4
xor eax, ecx
imul rax, rax, 0x5434ea14
mov qword [rbp + 0x10], rax
shr rax, 0x20
add eax, dword [rbp + 0x10]
imul rax, rax, 0x5434ea14
mov qword [rbp + 0x10], rax
mov ecx, dword [rbp + 0x10]
shr rax, 0x20
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
lea edx, [rdx + rax*2]
and ecx, r13d
sub edx, ecx
mov eax, edx
sar eax, 0x1f
and eax, r13d
add eax, edx
add r9d, eax
cmp r11, r8
jb 0x1400afc40
mov dword [rbp + 0x24], eax
mov dword [rbp + 0x20], r9d
jmp 0x1400affe1
movsxd rdx, dword [0x14000003c]
lea rax, [r10 + r8]
mov qword [rsp + 0x48], rax
lea rax, [0x1400000b0]
add rdx, rax
mov eax, r10d
sub eax, r11d
mov r9d, eax
mov ebx, eax
lea r15, [rax + r8]
mov r8d, dword [rdx]
and r9, r14
mov rsi, r15
add r8, r11
sub rbx, r9
and rsi, r14
mov r14d, dword [rdx + 4]
sub r15, rsi
add r14, r8
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r15
jmp 0x1400afd16
mov eax, dword [r8]
cmp rax, r9
jae 0x1400afd1b
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r14
jne 0x1400afd07
xor r11d, r11d
cmp r8, r14
je 0x1400afd55
mov eax, dword [r8]
cmp rax, r9
jne 0x1400afd55
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x1400afd55
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x1400afd55
inc r11
add rdx, 2
cmp r11, rcx
jne 0x1400afd3c
mov ebx, dword [rbp + 0x24]
mov r12d, dword [rbp + 0x20]
mov r13d, 0x7fffffff
cmp r8, r14
je 0x1400aff4f
mov eax, dword [r8]
cmp rax, rsi
ja 0x1400aff4f
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x1400afda4
add r8, rcx
cmp r8, r14
je 0x1400aff4f
mov eax, dword [r8]
cmp rax, rsi
ja 0x1400aff4f
xor r11d, r11d
jmp 0x1400afd77
mov eax, dword [r8]
cmp rax, rsi
jne 0x1400afdc0
movzx eax, word [r8 + r11*2 + 8]
and eax, 0xfff
cmp rax, r15
jae 0x1400aff4f
mov rax, r11
mov ecx, 0xf000
inc r11
test word [r8 + rax*2 + 8], cx
je 0x1400afd62
movzx r9d, word [r8 + rax*2 + 8]
lea rax, [0x140000000]
xor edi, edi
mov esi, r9d
and esi, 0xfff
add esi, dword [r8]
add rsi, rax
mov r15, rsi
sub r15, r10
je 0x1400afe6a
movzx ecx, byte [rdi + r10]
inc rdi
add ecx, 0x5434ea14
add r12d, ecx
add ecx, ebx
mov eax, ecx
ror ecx, 4
imul eax, eax, 0x1ed8
rol eax, 4
xor eax, ecx
imul rax, rax, 0x5434ea14
mov qword [rbp + 0x28], rax
shr rax, 0x20
add eax, dword [rbp + 0x28]
imul rax, rax, 0x5434ea14
mov qword [rbp + 0x28], rax
mov ecx, dword [rbp + 0x28]
shr rax, 0x20
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
and ecx, r13d
lea edx, [rdx + rax*2]
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
and ebx, r13d
add ebx, edx
add r12d, ebx
cmp rdi, r15
jb 0x1400afdf9
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], r12d
shr r9d, 0xc
cmp r9d, 3
je 0x1400afe82
sub r9d, 0xa
neg r9d
sbb edx, edx
add edx, 3
jmp 0x1400afe87
mov edx, 2
mov r9, qword [rsp + 0x30]
mov rax, qword [rsi]
neg r9
mov qword [rbp + 0x28], rax
sub edx, 2
je 0x1400afeb4
dec edx
je 0x1400afea5
or r9, 0xffffffffffffffff
jmp 0x1400afebe
add rax, r9
mov r9d, 8
mov qword [rbp + 0x28], rax
jmp 0x1400afebe
add dword [rbp + 0x28], r9d
mov r9d, 4
xor r10d, r10d
test r9, r9
je 0x1400aff3c
movzx ecx, byte [rbp + r10 + 0x28]
inc r10
add ecx, 0x5434ea14
add r12d, ecx
add ecx, ebx
mov eax, ecx
ror ecx, 4
imul eax, eax, 0x1ed8
rol eax, 4
xor eax, ecx
imul rax, rax, 0x5434ea14
mov qword [rsp + 0x20], rax
shr rax, 0x20
add eax, dword [rsp + 0x20]
imul rax, rax, 0x5434ea14
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
and ecx, r13d
lea edx, [rdx + rax*2]
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
and ebx, r13d
add ebx, edx
add r12d, ebx
cmp r10, r9
jb 0x1400afec6
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], r12d
mov r15, qword [rsp + 0x40]
lea r10, [r9 + rsi]
mov rsi, qword [rsp + 0x38]
jmp 0x1400afd62
mov r9, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x10]
xor r8d, r8d
sub r9, r10
je 0x1400affd1
movzx ecx, byte [r8 + r10]
inc r8
add ecx, 0x5434ea14
add r12d, ecx
add ecx, ebx
mov eax, ecx
ror ecx, 4
imul eax, eax, 0x1ed8
rol eax, 4
xor eax, ecx
imul rax, rax, 0x5434ea14
mov qword [rbp + 0x10], rax
shr rax, 0x20
add eax, dword [rbp + 0x10]
imul rax, rax, 0x5434ea14
mov qword [rbp + 0x10], rax
mov ecx, dword [rbp + 0x10]
shr rax, 0x20
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
and ecx, r13d
lea edx, [rdx + rax*2]
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
and ebx, r13d
add ebx, edx
add r12d, ebx
cmp r8, r9
jb 0x1400aff60
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], r12d
mov rsi, qword [rbp + 0x18]
mov r15, qword [rsp + 0x28]
mov r14, 0xfffffffffffff000
add qword [rdi + 0x10], 0xd
mov eax, dword [r15 + 4]
lea rcx, [0x140000000]
and eax, 0xfffffff
mov rax, qword [rax + rcx]
cmp qword [rbp + 0x20], rax
je 0x1400b00b1
call fcn.14009eca8
lea r9, [rdi + 0x18]
mov r11d, 0xffff
and r9, 0xfffffffffffffff8
mov rbx, rax
and rbx, r14
lea r10, [r9 + 0xfff]
and r10, r14
lea r14, [fcn.1400bd550]
xor r8d, r8d
mov qword [rdi + 0x10], r14
mov rcx, qword [0x14017dbb0]
imul rcx, rcx, 0x343fd
shl r8, 0x10
shr r11, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r8, rdx
test r11, r11
jne 0x1400b003c
mov qword [0x14017dbb0], rcx
movabs rax, 0x8000800080008001
mov qword [rsi + 0x98], rbx
mul r8
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [rsi + 0xb0], r8
mov qword [rbp + 0x10], r11
jmp 0x1400b00a8
mov rax, qword [rbp + 0x10]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x1400b009d
mov qword [rdi + 0x10], r14
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret