Function at 0x1400af300
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xb8
xor r12d, r12d
lea r8, [rbp + 0x7f]
xor r9d, r9d
mov qword [rbp - 0x29], r12
mov r13, rcx
mov qword [rbp + 0x7f], r12
mov edi, r12d
mov r15d, r12d
lea edx, [r12 + 0x1b]
call fcn.1400a6b90
mov dword [rbp + 0x77], eax
mov ebx, eax
test eax, eax
jne 0x1400af776
movsxd r8, dword [r13 + 0x1f8]
lea edx, [rax + 1]
mov qword [rsp + 0xb0], rsi
mov rsi, qword [rbp + 0x7f]
mov rcx, rsi
mov qword [rsp + 0xa8], r14
call fcn.14003f120
movsxd r8, dword [r13 + 0x1d8]
lea edx, [rbx + 2]
mov rcx, rsi
call fcn.14003f120
nop dword [rax]
mov rcx, rsi
call fcn.14003d920
cmp eax, 0x64
jne 0x1400af443
xor edx, edx
mov rcx, rsi
call fcn.14003de90
mov rcx, rax
call fcn.140036940
mov r14, rax
test rsi, rsi
je 0x1400af3f6
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x84]
cmp byte [rcx + 0x51], r12b
jne 0x1400af3d9
cmp edx, 0xc0a
je 0x1400af3d9
mov eax, dword [rcx + 0x48]
and eax, edx
jmp 0x1400af3de
call fcn.140017d10
mov dword [rsi + 0x84], eax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400af3f6
call qword [0x14011c548]
mov edi, r12d
cmp dword [r13 + 0x1d8], r12d
jle 0x1400af43b
mov rsi, qword [rbp - 0x29]
nop word [rax + rax]
lea r9, [rbp + 0x77]
mov r8d, edi
mov edx, r14d
mov rcx, r13
call fcn.1400aede0
xor rsi, rax
inc edi
cmp edi, dword [r13 + 0x1d8]
jl 0x1400af410
mov ebx, dword [rbp + 0x77]
mov qword [rbp - 0x29], rsi
mov rsi, qword [rbp + 0x7f]
test ebx, ebx
je 0x1400af390
mov rcx, rsi
call fcn.14003cad0
test ebx, ebx
jne 0x1400af762
mov ebx, eax
test eax, eax
jne 0x1400af762
mov rax, qword [r13 + 0x48]
mov rdx, qword [r13 + 0x1a8]
mov rcx, qword [rax]
mov qword [rbp - 0x11], rcx
lea rcx, str.SELECT__s
mov qword [rbp - 0x41], r12
call fcn.140019790
mov rdi, rax
test rax, rax
jne 0x1400af48f
lea ebx, [rax + 7]
jmp 0x1400af759
mov rcx, qword [r13 + 0x18]
lea rax, [rbp - 0x41]
mov qword [rsp + 0x30], r12
mov r9d, 1
mov qword [rsp + 0x28], rax
or r8d, 0xffffffff
mov rdx, rdi
mov qword [rsp + 0x20], r12
call fcn.140073550
mov rcx, rdi
mov ebx, eax
call fcn.1400175b0
test ebx, ebx
jne 0x1400af759
nop word [rax + rax]
mov rcx, qword [rbp - 0x41]
call fcn.14003d920
cmp eax, 0x64
jne 0x1400af759
mov rdi, qword [rbp - 0x41]
xor edx, edx
mov rcx, rdi
call fcn.14003de90
mov rcx, rax
call fcn.140036940
mov qword [rbp - 1], rax
test rdi, rdi
je 0x1400af53c
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x84]
cmp byte [rcx + 0x51], r12b
jne 0x1400af51f
cmp edx, 0xc0a
je 0x1400af51f
mov eax, dword [rcx + 0x48]
and eax, edx
jmp 0x1400af524
call fcn.140017d10
mov dword [rdi + 0x84], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400af53c
call qword [0x14011c548]
mov dword [rbp + 0x7f], r12d
cmp qword [r13 + 0x58], r12
je 0x1400af558
mov edx, dword [r13 + 0x30]
mov rcx, qword [rbp - 0x41]
inc edx
call fcn.14003e1b0
mov dword [rbp + 0x7f], eax
mov eax, r12d
mov rdx, r12
mov dword [rbp - 0x49], eax
mov qword [rbp - 9], rdx
cmp eax, dword [r13 + 0x30]
jge 0x1400af4d0
mov rcx, qword [r13 + 0x40]
cmp byte [rdx + rcx], r12b
jne 0x1400af745
mov rcx, qword [rbp - 0x41]
lea ebx, [rax + 1]
mov edx, ebx
call fcn.14003e290
mov rcx, qword [rbp - 0x41]
mov edx, ebx
mov rdi, rax
call fcn.14003dfc0
mov r14, qword [r13 + 0x48]
lea r9, [rbp - 0x39]
mov r8d, eax
mov qword [rbp - 0x39], r12
mov rdx, rdi
mov rcx, r14
mov rsi, qword [r14]
call qword [rsi + 0x18]
mov ebx, eax
test eax, eax
jne 0x1400af5e6
mov rax, qword [rbp - 0x39]
mov qword [rax], r14
cmp dword [rsi], 1
jl 0x1400af5e6
mov edx, dword [rbp + 0x7f]
mov rcx, qword [rbp - 0x39]
call qword [rsi + 0x30]
mov ebx, eax
test eax, eax
je 0x1400af5e6
mov rcx, qword [rbp - 0x39]
call qword [rsi + 0x20]
mov rdi, r12
mov qword [rbp - 0x39], r12
jmp 0x1400af5ea
mov rdi, qword [rbp - 0x39]
mov qword [rbp - 0x19], rdi
test ebx, ebx
jne 0x1400af728
nop word [rax + rax]
mov rsi, qword [rbp - 0x11]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x1d]
lea rax, [rbp - 0x21]
mov dword [rbp - 0x31], r12d
lea r8, [rbp - 0x31]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 7]
mov dword [rbp - 0x1d], r12d
mov rcx, rdi
mov dword [rbp - 0x21], r12d
mov dword [rbp + 0x77], r12d
call qword [rsi + 0x28]
mov ebx, eax
test eax, eax
jne 0x1400af722
mov rax, qword [rbp - 1]
movsxd r13, dword [rbp - 0x49]
movsxd rdx, dword [rbp + 0x77]
mov esi, dword [rbp - 0x31]
mov r10, qword [rbp + 7]
lea r14, [rax + rax*8]
movsxd rax, dword [rbp + 0x7f]
add r14, rax
imul rcx, r14, 0x51
add rcx, r13
lea rax, [rdx + rcx*8]
add rcx, rax
test esi, esi
jle 0x1400af699
mov rdx, r10
mov r8d, esi
nop dword [rax + rax]
movsx rax, byte [rdx]
lea rcx, [rcx + rcx*8]
add rcx, rax
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400af680
movsxd rdx, dword [rbp + 0x77]
xor r15, rcx
mov rcx, qword [rbp + 0x67]
mov eax, dword [rcx + 0x1d8]
cmp eax, 1
jle 0x1400af600
mov rdi, qword [rcx + 0x1e0]
lea ebx, [rax - 1]
mov r9d, 0x28
lea r11d, [r9 - 0x27]
cmp dword [r9 + rdi], esi
jg 0x1400af70c
movsxd r8, dword [r9 + rdi]
lea rcx, [r11 + r14*8]
add rcx, r14
lea rax, [rcx*8]
add rax, r13
add rcx, rax
lea rax, [rdx + rcx*8]
add rcx, rax
mov rax, r12
test r8, r8
jle 0x1400af709
movsx rdx, byte [rax + r10]
lea rcx, [rcx + rcx*8]
add rcx, rdx
inc rax
cmp rax, r8
jl 0x1400af6f1
movsxd rdx, dword [rbp + 0x77]
xor r15, rcx
inc r11
add r9, 0x28
sub rbx, 1
jne 0x1400af6c3
mov rdi, qword [rbp - 0x19]
jmp 0x1400af600
mov r13, qword [rbp + 0x67]
jmp 0x1400af72c
mov rsi, qword [rbp - 0x11]
test rdi, rdi
je 0x1400af737
mov rcx, rdi
call qword [rsi + 0x20]
mov eax, dword [rbp - 0x49]
cmp ebx, 0x65
mov rdx, qword [rbp - 9]
cmove ebx, r12d
inc eax
inc rdx
mov dword [rbp - 0x49], eax
mov qword [rbp - 9], rdx
test ebx, ebx
je 0x1400af565
mov rcx, qword [rbp - 0x41]
call fcn.14003c9d0
mov rdi, qword [rbp - 0x29]
mov rsi, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa8]
mov rax, qword [rbp + 0x6f]
cmp rdi, r15
sete r12b
mov dword [rax], r12d
mov eax, ebx
add rsp, 0xb8
pop r15
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret