Function at 0x14000aab4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1d8
mov r12d, 7
mov r14, r9
mov rbx, r8
mov rsi, rdx
mov rcx, rdx
cmp qword [rdx + 0x18], r12
jbe 0x14000aaf8
mov rcx, qword [rdx]
call fcn.1400271f4
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
or r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r15
inc r8
cmp word [rax + r8*2], r15w
jne 0x14000ab16
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140007b80
mov rdi, qword [rsp + 0x50]
test rdi, rdi
jne 0x14000aba2
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x14000ab7a
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov r13d, 0x1000
mov rax, rcx
cmp rdx, r13
jb 0x14000ab75
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b143
call fcn.140054430
mov rcx, rsi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r12
mov word [rsp + 0x40], r15w
call fcn.140007a6c
mov rcx, rbx
call fcn.140007a6c
mov rcx, r14
jmp 0x14000b124
cmp qword [rsp + 0x58], r12
lea r14, [rsp + 0x40]
movabs r15, 0x7ffffffffffffffe
xorps xmm0, xmm0
cmova r14, qword [rsp + 0x40]
movups xmmword [rbp - 0x80], xmm0
cmp rdi, r15
ja 0x14000b149
mov ecx, 0xa
movabs rax, 0x7fffffffffffffff
mov r13d, 0x1000
lea r12d, [rcx + 6]
cmp rdi, 7
ja 0x14000abfc
mov qword [rbp - 0x68], 7
lea rax, [rbp - 0x80]
mov r8d, r12d
jmp 0x14000ac52
mov rbx, rdi
or rbx, 7
cmp rbx, r15
jbe 0x14000ac11
mov rbx, r15
lea rcx, [rax + rax]
jmp 0x14000ac2d
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, rax
ja 0x14000b14f
add rcx, rcx
cmp rcx, r13
jb 0x14000ac34
call fcn.1400080f4
jmp 0x14000ac42
test rcx, rcx
je 0x14000ac40
call fcn.1400541b4
jmp 0x14000ac42
xor eax, eax
mov qword [rbp - 0x80], rax
lea r8, [rdi*2 + 2]
mov qword [rbp - 0x68], rbx
mov rdx, r14
mov qword [rbp - 0x70], rdi
mov rcx, rax
call fcn.14007c060
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.1400221dc
mov rbx, rax
lea rax, [rsp + 0x40]
cmp rax, rbx
je 0x14000acec
mov rdx, qword [rsp + 0x58]
mov r14d, 7
cmp rdx, r14
jbe 0x14000acbf
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, r13
jb 0x14000acba
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b155
call fcn.140054430
xor edi, edi
mov qword [rsp + 0x58], r14
mov rdx, rbx
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], di
lea r8d, [rdi + 0x20]
call fcn.14007c060
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], r14
mov word [rbx], di
lea rcx, [rsp + 0x60]
call fcn.140007a6c
lea rcx, [rbp + 0x38]
call fcn.14001f0ac
mov rax, qword [rbp + 0x130]
mov ebx, 7
mov rdx, rax
cmp qword [rax + 0x18], rbx
jbe 0x14000ad17
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14000b170
mov rax, qword [rbp + 0x138]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov rdx, rax
movups xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x70], xmm1
cmp qword [rax + 0x18], rbx
jbe 0x14000ad49
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140007c88
cmp qword [rsp + 0x58], rbx
lea r14, [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
xorps xmm0, xmm0
cmova r14, qword [rsp + 0x40]
movups xmmword [rbp - 0x60], xmm0
cmp rdi, r15
ja 0x14000b15b
cmp rdi, rbx
ja 0x14000ad87
lea rax, [rbp - 0x60]
jmp 0x14000adf0
mov rbx, rdi
or rbx, 7
cmp rbx, r15
jbe 0x14000ada6
movabs rax, 0x7fffffffffffffff
mov rbx, r15
lea rcx, [rax + rax]
jmp 0x14000add1
mov eax, 0xa
cmp rbx, rax
cmovb rbx, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rbx + 1]
cmp rcx, rax
ja 0x14000b161
add rcx, rcx
cmp rcx, r13
jb 0x14000add8
call fcn.1400080f4
jmp 0x14000ade4
xor eax, eax
test rcx, rcx
je 0x14000ade4
call fcn.1400541b4
mov qword [rbp - 0x60], rax
lea r12, [rdi*2 + 2]
mov r8, r12
mov qword [rbp - 0x48], rbx
mov rdx, r14
mov qword [rbp - 0x50], rdi
mov rcx, rax
call fcn.14007c060
mov r9b, byte [rbp + 0x140]
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140022334
mov rdi, qword [rbp - 0x78]
xor r12d, r12d
mov rbx, qword [rbp - 0x80]
mov r14d, r12d
sub rdi, rbx
sar rdi, 5
test rdi, rdi
je 0x14000aea9
xorps xmm0, xmm0
mov qword [rbp - 0x50], r12
xor r8d, r8d
mov qword [rbp - 0x48], r12
lea rdx, [0x14008bef0]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x60], xmm0
call fcn.140007b80
xorps xmm0, xmm0
mov qword [rsp + 0x70], r12
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x78], r12
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x14000ae7a
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140007c88
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x38]
call fcn.14001f620
inc r14d
add rbx, 0x20
movsxd rax, r14d
cmp rax, rdi
jb 0x14000ae39
mov eax, dword [0x14009a9ec]
mov ecx, 0x51
mov dword [rbp + 0x128], 0xde0049
test al, 1
jne 0x14000aef1
or eax, 1
mov word [0x14009aa04], cx
mov dword [0x14009a9ec], eax
lea rcx, [0x14007dce8]
mov eax, dword [rbp + 0x128]
mov dword [0x14009aa00], eax
mov byte [0x14009aa06], 1
call fcn.140054418
cmp byte [0x14009aa06], r12b
lea r9, [0x14009aa00]
movabs rdi, 0xcf2529af23519919
mov r14d, 0xff
je 0x14000af3c
mov r8, r12
mov cl, r8b
mov rdx, rdi
and cl, 7
shl cl, 3
shr rdx, cl
and dx, r14w
xor word [r9 + r8*2], dx
inc r8
cmp r8, 3
jb 0x14000af14
mov byte [0x14009aa06], r12b
xorps xmm0, xmm0
xorps xmm1, xmm1
or rbx, 0xffffffffffffffff
movups xmmword [rbp - 0x28], xmm0
mov r8, rbx
movdqu xmmword [rbp - 0x18], xmm1
inc r8
cmp word [r9 + r8*2], r12w
jne 0x14000af52
mov rdx, r9
lea rcx, [rbp - 0x28]
call fcn.140007b80
mov eax, dword [0x14009a9e8]
mov dword [rbp + 0x128], 0x990065
test al, 1
jne 0x14000afa4
or eax, 1
mov byte [0x14009a9f4], 1
mov dword [0x14009a9e8], eax
lea rcx, [0x14007dcdc]
mov eax, dword [rbp + 0x128]
mov dword [0x14009a9f0], eax
call fcn.140054418
cmp byte [0x14009a9f4], r12b
lea r10, [0x14009a9f0]
je 0x14000afdf
mov r8, r12
mov cl, r8b
mov rdx, rdi
and cl, 7
shl cl, 3
shr rdx, cl
and dx, r14w
xor word [r10 + r8*2], dx
inc r8
cmp r8, 2
jb 0x14000afb7
mov byte [0x14009a9f4], r12b
mov rax, qword [rsi + 0x10]
inc rbx
cmp word [r10 + rbx*2], r12w
jne 0x14000afe3
sub r15, rax
cmp r15, rbx
jb 0x14000b167
cmp qword [rsi + 0x18], 7
mov r9, rsi
jbe 0x14000b006
mov r9, qword [rsi]
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
call fcn.140007ea8
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 8]
call fcn.14000b1e4
movdqa xmm1, xmmword [0x14008cff0]
lea rdx, [rbp - 0x28]
xorps xmm0, xmm0
lea rcx, [rbp + 0x70]
movups xmmword [rbp + 0x18], xmm0
mov word [rbp + 0x18], r12w
movdqu xmmword [rbp + 0x28], xmm1
call fcn.140006df0
lea rdx, [rbp + 0x38]
mov rbx, rax
lea rcx, [rbp - 0x60]
call fcn.140006eb0
mov rcx, qword [rbp + 0x120]
mov r8, rbx
mov rdx, rax
call fcn.140029948
mov rdx, qword [rbp + 0x30]
cmp rdx, 7
jbe 0x14000b0b6
mov rcx, qword [rbp + 0x18]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, r13
jb 0x14000b0b1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b13d
call fcn.140054430
movdqa xmm0, xmmword [0x14008cff0]
lea rcx, [rbp - 8]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
call fcn.140007a6c
lea rcx, [rbp - 0x28]
call fcn.140007a6c
lea rcx, [rsp + 0x60]
call fcn.140007a6c
lea rcx, [rbp - 0x80]
call fcn.1400079e0
lea rcx, [rbp + 0x58]
call fcn.140007944
lea rcx, [rbp + 0x38]
call fcn.140007a6c
lea rcx, [rsp + 0x40]
call fcn.140007a6c
mov rcx, rsi
call fcn.140007a6c
mov rcx, qword [rbp + 0x130]
call fcn.140007a6c
mov rcx, qword [rbp + 0x138]
call fcn.140007a6c
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14005af0c
int3
call fcn.14005af0c
int3
call fcn.140005e1c
int3
call fcn.140005e04
int3
call fcn.14005af0c
int3
call fcn.140005e1c
int3
call fcn.140005e04
int3
call fcn.140005e1c
int3