Function at 0x1400a97a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov ebx, r9d
mov esi, r8d
mov edi, edx
test ecx, ecx
mov dword [rbp - 0xc], r8d
je 0x1400a9bcc
cmp qword [0x140531730], 0
jne 0x1400a980d
mov edx, edi
xor edx, 0x5cbd0214
xor esi, 0xd62d81a4
mov ecx, 0x700
mov r8d, esi
call fcn.1400a83d0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140093690
mov rax, qword [rbp - 8]
mov qword [0x140531730], rax
mov rsi, qword [0x140531730]
mov r14, qword [rsi + 0x3b0]
test r14, r14
je 0x1400a9830
mov rcx, r14
call fcn.140095050
mov rcx, r14
call fcn.1400a6560
mov qword [rsi + 0x3b0], 0
mov rax, qword [0x140531660]
test rax, rax
mov esi, dword [rbp - 0xc]
je 0x1400a9946
mov r15, qword [rax + 0x20]
mov r12, qword [r15]
cmp r12, r15
je 0x1400a9946
mov r14d, 1
jmp 0x1400a987f
mov rax, r12
nop dword [rax]
inc r14d
mov r12, rax
cmp rax, r15
je 0x1400a9946
mov dword [r12 + 0x30], 0
mov dword [r12 + 0x28], 0
mov r8, qword [r12 + 0x58]
test r8, r8
je 0x1400a98a8
mov rcx, qword [r12 + 0x50]
mov edx, r14d
call fcn.1403e40c0
mov r8, qword [r12 + 0x98]
test r8, r8
je 0x1400a98c5
mov rcx, qword [r12 + 0x90]
mov edx, r14d
call fcn.1403e40c0
mov rcx, qword [r12 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400a9910
mov rax, qword [r12 + 8]
mov ecx, ebx
xor cl, 0xe
add cl, byte [0x1404c5e7c]
cmp byte [rax + 0x19], cl
jne 0x1400a9870
nop word cs:[rax + rax]
mov rcx, r12
mov r12, rax
cmp rcx, qword [rax + 0x10]
jne 0x1400a9866
mov rax, qword [r12 + 8]
cmp byte [rax + 0x19], 0
je 0x1400a98f0
jmp 0x1400a9870
mov rax, rcx
mov rcx, qword [rcx]
movzx edx, byte [0x1404c5e7c]
mov r8d, ebx
xor r8b, 0xe
add r8b, 0xde
mov r9d, r8d
xor r9b, dl
and r8b, dl
add r8b, r8b
add r8b, r9b
add r8b, 0x22
cmp byte [rcx + 0x19], r8b
je 0x1400a9910
jmp 0x1400a9870
mov byte [0x1405318b0], 1
mov rcx, qword [0x1405319b8]
test rcx, rcx
je 0x1400a9975
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401138cb.0]
mov qword [0x1405319b8], 0
movaps xmm0, xmmword [0x1403fe510]
movups xmmword [0x140524c8f], xmm0
movups xmmword [0x140524c7f], xmm0
movups xmmword [0x140524c6f], xmm0
movups xmmword [0x140524c5f], xmm0
cmp qword [0x140531730], 0
jne 0x1400a99d5
mov edx, edi
xor edx, 0x5cbd0214
mov r8d, esi
xor r8d, 0xd62d81a4
mov ecx, 0x700
call fcn.1400a83d0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140093690
mov rax, qword [rbp - 8]
mov qword [0x140531730], rax
mov rax, qword [0x140531730]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x1400a9a33
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.1403e40c0
cmp qword [0x140531730], 0
jne 0x1400a9a33
mov edx, edi
xor edx, 0x5cbd0214
mov r8d, esi
xor r8d, 0xd62d81a4
mov ecx, 0x700
call fcn.1400a83d0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140093690
mov rax, qword [rbp - 8]
mov qword [0x140531730], rax
mov r14, qword [0x140531730]
mov rax, qword [r14 + 0x370]
mov rcx, qword [r14 + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
mov edx, ebx
xor edx, 0xe727256
add edx, dword [0x1404c5e68]
cmp ecx, edx
jle 0x1400a9b0e
xor r12d, r12d
mov r15d, edi
xor r15d, 0x437c9d9c
mov r13d, dword [rbp - 0xc]
xor r13d, 0x25c9c703
mov ecx, ebx
movabs rsi, 0xb7fb7b66213c69f8
xor rsi, rcx
jmp 0x1400a9aef
lea r8, [rax + rcx]
add r8, 0x80
mov edx, dword [rax + rcx + 0x24]
mov dword [rsp + 0x20], r13d
mov rcx, r14
mov r9d, r15d
call fcn.1400a82f0
mov rax, qword [0x1404c5e70]
add rax, rsi
add r12, rax
mov rax, qword [r14 + 0x370]
mov rcx, qword [r14 + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
movsxd rcx, ecx
cmp r12, rcx
jge 0x1400a9b0e
lea rcx, [r12 + r12*4]
shl rcx, 5
cmp dword [rax + rcx + 0x88], 0
jne 0x1400a9aa0
cmp qword [rax + rcx + 0x88], 0
je 0x1400a9abf
jmp 0x1400a9aa0
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
shr rax, 2
test eax, eax
mov esi, dword [rbp - 0xc]
jle 0x1400a9f32
xor r15d, r15d
mov r12d, ebx
xor r12d, 0x49f690b2
add r12d, 0x476bbef9
mov eax, ebx
not eax
mov ecx, eax
and ecx, 0x542bab55
mov r13d, ebx
and r13d, 0xabd454aa
or r13d, ecx
and eax, 0xe727257
and ebx, 0xf18d8da8
or ebx, eax
nop word cs:[rax + rax]
mov eax, dword [0x1404c5e68]
mov ecx, r12d
xor ecx, eax
mov edx, r12d
and edx, eax
lea r9d, [rcx + rdx*2]
add r9d, 0xb8944107
xor r9d, edi
add eax, r13d
xor eax, esi
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, r15d
xor r8d, r8d
call fcn.1400a82f0
mov eax, dword [0x1404c5e68]
add eax, ebx
add r15d, eax
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
shr rax, 2
cmp r15d, eax
jl 0x1400a9b70
jmp 0x1400a9f32
mov rcx, qword [0x1405319b8]
test rcx, rcx
je 0x1400a9bf4
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401138cb.0]
mov qword [0x1405319b8], 0
mov rax, qword [0x140531660]
test rax, rax
je 0x1400a9ce1
mov r15, qword [rax + 0x20]
mov r12, qword [r15]
cmp r12, r15
je 0x1400a9ce1
mov r14d, 1
mov eax, ebx
not eax
and eax, 0xe727257
xor ebx, 0xf18d8da8
or ebx, eax
not ebx
or ebx, eax
jmp 0x1400a9c4f
add r14d, eax
mov r12, rcx
cmp rcx, r15
je 0x1400a9ce1
mov dword [r12 + 0x30], 0
mov dword [r12 + 0x28], 0
mov r8, qword [r12 + 0x58]
test r8, r8
je 0x1400a9c78
mov rcx, qword [r12 + 0x50]
mov edx, r14d
call fcn.1403e40c0
mov r8, qword [r12 + 0x98]
test r8, r8
je 0x1400a9c95
mov rcx, qword [r12 + 0x90]
mov edx, r14d
call fcn.1403e40c0
mov eax, dword [0x1404c5e68]
add eax, ebx
mov rdx, qword [r12 + 0x10]
cmp byte [rdx + 0x19], 0
je 0x1400a9cd0
nop dword [rax + rax]
mov rcx, qword [r12 + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400a9c40
mov rdx, r12
mov r12, rcx
cmp rdx, qword [rcx + 0x10]
je 0x1400a9cb0
mov rcx, r12
jmp 0x1400a9c40
mov rcx, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
je 0x1400a9cd0
jmp 0x1400a9c40
movaps xmm0, xmmword [0x1403fe510]
movups xmmword [0x140524c8f], xmm0
movups xmmword [0x140524c7f], xmm0
movups xmmword [0x140524c6f], xmm0
movups xmmword [0x140524c5f], xmm0
cmp qword [0x140531730], 0
jne 0x1400a9d4f
mov eax, edi
not eax
mov edx, edi
xor edx, 0xa342fdeb
and eax, 0x5cbd0214
or edx, eax
not edx
or edx, eax
xor esi, 0xd62d81a4
mov ecx, 0x700
mov r8d, esi
call fcn.1400a83d0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140093690
mov rax, qword [rbp - 8]
mov qword [0x140531730], rax
mov rsi, qword [0x140531730]
mov rbx, qword [rsi + 0x3b0]
test rbx, rbx
je 0x1400a9d72
mov rcx, rbx
call fcn.140095050
mov rcx, rbx
call fcn.1400a6560
mov qword [rsi + 0x3b0], 0
mov byte [0x1405318b0], 1
cmp qword [0x140531730], 0
mov r13d, dword [rbp - 0xc]
jne 0x1400a9dc5
mov edx, edi
xor edx, 0x5cbd0214
mov r8d, r13d
xor r8d, 0xd62d81a4
mov ecx, 0x700
call fcn.1400a83d0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140093690
mov rax, qword [rbp - 8]
mov qword [0x140531730], rax
mov rax, qword [0x140531730]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x1400a9e23
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.1403e40c0
cmp qword [0x140531730], 0
jne 0x1400a9e23
mov edx, edi
xor edx, 0x5cbd0214
mov r8d, r13d
xor r8d, 0xd62d81a4
mov ecx, 0x700
call fcn.1400a83d0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140093690
mov rax, qword [rbp - 8]
mov qword [0x140531730], rax
mov rbx, qword [0x140531730]
mov r8, qword [rbx + 0x370]
mov rax, qword [rbx + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
test eax, eax
jle 0x1400a9ed6
mov r15d, 1
mov r12d, 0x80
mov r14d, edi
xor r14d, 0x437c9d9c
xor r13d, 0x25c9c703
cmp dword [r8 + r12 + 8], 0
jne 0x1400a9e88
nop word cs:[rax + rax]
cmp qword [r8 + r12 + 8], 0
je 0x1400a9ea0
mov edx, dword [r8 + r12 - 0x5c]
add r8, r12
mov dword [rsp + 0x20], r13d
mov rcx, rbx
mov r9d, r14d
call fcn.1400a82f0
mov r8, qword [rbx + 0x370]
mov rax, qword [rbx + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp r15, rax
jge 0x1400a9ed6
inc r15
add r12, 0xa0
cmp dword [r8 + r12 + 8], 0
je 0x1400a9e80
jmp 0x1400a9e88
mov rax, qword [rbx + 0x398]
sub rax, qword [rbx + 0x390]
shr rax, 2
test eax, eax
jle 0x1400a9f32
mov esi, 1
xor edi, 0x437c9d9c
xor dword [rbp - 0xc], 0x25c9c703
nop
lea edx, [rsi - 1]
mov eax, dword [rbp - 0xc]
mov dword [rsp + 0x20], eax
mov rcx, rbx
xor r8d, r8d
mov r9d, edi
call fcn.1400a82f0
mov rax, qword [rbx + 0x398]
sub rax, qword [rbx + 0x390]
shr rax, 2
cmp esi, eax
jge 0x1400a9f32
inc esi
jmp 0x1400a9f00
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret