Function at 0x1400b09ec
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 r14, qword [rcx + 0x10]
and qword [rax + 0x18], 0
mov eax, 0xfffffff
mov r8d, dword [r14 + 9]
inc r14
lea r11, [0x140000000]
mov r9d, dword [r14]
and r8, rax
mov rdi, rcx
shr r9, 1
mov rcx, r11
mov rsi, rdx
and r9, rax
mov rax, qword [0x14010bb18]
mov qword [rsp + 0x28], r14
add r9, r11
sub rcx, rax
mov r15, 0xfffffffffffff000
mov qword [rsp + 0x38], rcx
jne 0x1400b0aea
xor r11d, r11d
test r8, r8
je 0x1400b0e21
mov eax, dword [rbp + 0x24]
mov r10d, dword [rbp + 0x20]
mov esi, 0x9d690795
mov ebx, 0x7fffffff
movzx ecx, byte [r11 + r9]
inc r11
sub ecx, 0x6296f86b
add r10d, ecx
add ecx, eax
mov eax, ecx
ror ecx, 5
imul eax, eax, 0x273c
rol eax, 5
xor eax, ecx
imul rax, rsi
mov qword [rbp + 0x10], rax
shr rax, 0x20
add eax, dword [rbp + 0x10]
imul rax, rsi
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, ebx
sub edx, ecx
mov eax, edx
sar eax, 0x1f
and eax, ebx
add eax, edx
add r10d, eax
cmp r11, r8
jb 0x1400b0a7c
mov dword [rbp + 0x24], eax
mov dword [rbp + 0x20], r10d
jmp 0x1400b0e1d
movsxd rdx, dword [0x14000003c]
lea rax, [r9 + r8]
mov qword [rsp + 0x48], rax
lea rax, [0x1400000b0]
add rdx, rax
mov eax, r9d
mov esi, dword [rdx + 4]
sub eax, r11d
lea r14, [rax + r8]
mov r8d, dword [rdx]
mov r10d, eax
mov r13, r14
and r10, r15
mov ebx, eax
and r13, r15
add r8, r11
sub rbx, r10
sub r14, r13
mov qword [rsp + 0x30], r13
add rsi, r8
mov qword [rsp + 0x40], r14
jmp 0x1400b0b49
mov eax, dword [r8]
cmp rax, r10
jae 0x1400b0b4e
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rsi
jne 0x1400b0b3a
xor r11d, r11d
mov r15d, 0xfff
cmp r8, rsi
je 0x1400b0b8c
mov eax, dword [r8]
cmp rax, r10
jne 0x1400b0b8c
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x1400b0b8c
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r15
cmp rax, rbx
jae 0x1400b0b8c
inc r11
add rdx, 2
cmp r11, rcx
jne 0x1400b0b75
mov ebx, dword [rbp + 0x24]
mov r12d, dword [rbp + 0x20]
mov edi, 0x9d690795
mov r10d, 0x7fffffff
cmp r8, rsi
je 0x1400b0d90
mov eax, dword [r8]
cmp rax, r13
ja 0x1400b0d90
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x1400b0be0
add r8, rcx
cmp r8, rsi
je 0x1400b0d90
mov eax, dword [r8]
cmp rax, r13
ja 0x1400b0d90
xor r11d, r11d
jmp 0x1400b0bb3
mov eax, dword [r8]
cmp rax, r13
jne 0x1400b0bfa
movzx eax, word [r8 + r11*2 + 8]
and rax, r15
cmp rax, r14
jae 0x1400b0d90
mov rax, r11
mov ecx, 0xf000
inc r11
test word [r8 + rax*2 + 8], cx
je 0x1400b0b9e
movzx r10d, word [r8 + rax*2 + 8]
and qword [rbp + 0x28], 0
lea rax, [0x140000000]
mov r14d, r10d
and r14d, r15d
add r14d, dword [r8]
add r14, rax
mov r15, r14
sub r15, r9
je 0x1400b0cab
mov r13, qword [rbp + 0x28]
movzx ecx, byte [r13 + r9]
inc r13
sub ecx, 0x6296f86b
add r12d, ecx
add ecx, ebx
mov eax, ecx
ror ecx, 5
imul eax, eax, 0x273c
rol eax, 5
xor eax, ecx
imul rax, rdi
mov qword [rbp + 0x28], rax
shr rax, 0x20
add eax, dword [rbp + 0x28]
imul rax, rdi
mov qword [rbp + 0x28], rax
mov ecx, dword [rbp + 0x28]
shr rax, 0x20
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
lea edx, [rdx + rax*2]
mov eax, 0x7fffffff
and ecx, eax
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
and ebx, eax
add ebx, edx
add r12d, ebx
cmp r13, r15
jb 0x1400b0c37
mov r13, qword [rsp + 0x30]
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], r12d
shr r10d, 0xc
cmp r10d, 3
je 0x1400b0cc3
sub r10d, 0xa
neg r10d
sbb edx, edx
add edx, 3
jmp 0x1400b0cc8
mov edx, 2
mov r9, qword [rsp + 0x38]
mov rax, qword [r14]
neg r9
mov qword [rbp + 0x28], rax
sub edx, 2
je 0x1400b0cf5
dec edx
je 0x1400b0ce6
or r9, 0xffffffffffffffff
jmp 0x1400b0cff
add rax, r9
mov r9d, 8
mov qword [rbp + 0x28], rax
jmp 0x1400b0cff
add dword [rbp + 0x28], r9d
mov r9d, 4
xor r15d, r15d
mov r10d, 0x7fffffff
test r9, r9
je 0x1400b0d7d
movzx ecx, byte [rbp + r15 + 0x28]
inc r15
sub ecx, 0x6296f86b
add r12d, ecx
add ecx, ebx
mov eax, ecx
ror ecx, 5
imul eax, eax, 0x273c
rol eax, 5
xor eax, ecx
imul rax, rdi
mov qword [rsp + 0x20], rax
shr rax, 0x20
add eax, dword [rsp + 0x20]
imul rax, rdi
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
and ecx, r10d
lea edx, [rdx + rax*2]
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
and ebx, r10d
add ebx, edx
add r12d, ebx
cmp r15, r9
jb 0x1400b0d0d
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], r12d
add r9, r14
mov r14, qword [rsp + 0x40]
mov r15d, 0xfff
jmp 0x1400b0b9e
mov r15, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x10]
xor r8d, r8d
sub r15, r9
je 0x1400b0e11
mov esi, 0x9d690795
movzx ecx, byte [r8 + r9]
inc r8
sub ecx, 0x6296f86b
add r12d, ecx
add ecx, ebx
mov eax, ecx
ror ecx, 5
imul eax, eax, 0x273c
rol eax, 5
xor eax, ecx
imul rax, rsi
mov qword [rbp + 0x10], rax
shr rax, 0x20
add eax, dword [rbp + 0x10]
imul rax, rsi
mov qword [rbp + 0x10], rax
mov ecx, dword [rbp + 0x10]
shr rax, 0x20
lea edx, [rcx - 0x7fffffff]
sar ecx, 0x1f
and ecx, r10d
lea edx, [rdx + rax*2]
sub edx, ecx
mov ebx, edx
sar ebx, 0x1f
and ebx, r10d
add ebx, edx
add r12d, ebx
cmp r8, r15
jb 0x1400b0da6
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x20], r12d
mov r14, qword [rsp + 0x28]
mov r15, 0xfffffffffffff000
mov rsi, qword [rbp + 0x18]
add qword [rdi + 0x10], 0xd
mov eax, dword [r14 + 4]
lea rcx, [0x140000000]
and eax, 0xfffffff
mov rax, qword [rax + rcx]
cmp qword [rbp + 0x20], rax
je 0x1400b0ef1
call fcn.14009eca8
lea r9, [rdi + 0x18]
lea r14, [fcn.1400bd550]
and r9, 0xfffffffffffffff8
mov rbx, rax
mov qword [rdi + 0x10], r14
mov rcx, qword [0x14017dbb0]
lea r10, [r9 + 0xfff]
and rbx, r15
and r10, r15
xor r8d, r8d
mov r11d, 0xffff
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 0x1400b0e7c
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 0x1400b0ee8
mov rax, qword [rbp + 0x10]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x1400b0edd
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