Function at 0x1400aabf0
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 dword [rbp - 4], r8d
mov edi, edx
test ecx, ecx
je 0x1400aae16
cmp qword [0x140693e88], 0
jne 0x1400aac5c
mov edx, edi
xor edx, 0xb3ee2589
mov r8d, dword [rbp - 4]
xor r8d, 0xf5f6144
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 0x10]
mov qword [0x140693e88], rax
mov rsi, qword [0x140693e88]
mov r14, qword [rsi + 0x3b0]
test r14, r14
je 0x1400aac7f
mov rcx, r14
call fcn.140096760
mov rcx, r14
call fcn.1400a75e0
mov qword [rsi + 0x3b0], 0
mov byte [0x140694078], 1
mov rax, qword [0x140693db0]
mov ecx, ebx
mov qword [rbp - 0x10], rcx
test rax, rax
je 0x1400aad81
mov r13, qword [rax + 0x20]
mov rsi, qword [r13]
cmp rsi, r13
je 0x1400aad81
mov r14d, 1
mov r12d, ebx
xor r12d, 0xa8b65b59
mov r15, qword [rbp - 0x10]
movabs rax, 0x243c83c716e467f2
xor r15, rax
jmp 0x1400aacef
inc r14d
mov rsi, rax
cmp rax, r13
je 0x1400aad81
mov dword [rsi + 0x30], 0
mov eax, dword [0x1405ff11c]
add eax, r12d
mov dword [rsi + 0x28], eax
mov r8, qword [rsi + 0x58]
test r8, r8
je 0x1400aad17
mov rcx, qword [rsi + 0x50]
mov edx, r14d
call fcn.140512320
mov r8, qword [rsi + 0x98]
mov rax, qword [0x1405ff110]
add rax, r15
cmp r8, rax
je 0x1400aad3c
mov rcx, qword [rsi + 0x90]
mov edx, r14d
call fcn.140512320
mov rcx, qword [rsi + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400aad70
nop word cs:[rax + rax]
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x1400aace0
mov rcx, rsi
mov rsi, rax
cmp rcx, qword [rax + 0x10]
je 0x1400aad50
mov rax, rsi
jmp 0x1400aace0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400aad70
jmp 0x1400aace0
cmp qword [0x140693e88], 0
jne 0x1400aadbf
mov edx, edi
xor edx, 0xb3ee2589
mov r8d, dword [rbp - 4]
xor r8d, 0xf5f6144
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 0x18], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 0x18]
mov qword [0x140693e88], rax
mov rax, qword [0x140693e88]
mov r8, qword [rax + 0x560]
mov rcx, qword [rbp - 0x10]
movabs rdx, 0x243c83c716e467f2
xor rcx, rdx
add rcx, qword [0x1405ff110]
cmp r8, rcx
jne 0x1400aafec
movaps xmm0, xmmword [0x14052e790]
movups xmmword [0x14068742f], xmm0
movups xmmword [0x14068741f], xmm0
movups xmmword [0x14068740f], xmm0
movups xmmword [0x1406873ff], xmm0
jmp 0x1400ab05b
mov rcx, qword [0x140694178]
test rcx, rcx
je 0x1400aae3e
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140694178], 0
mov rax, qword [0x140693db0]
test rax, rax
je 0x1400aaf0b
mov r15, qword [rax + 0x20]
mov rsi, qword [r15]
cmp rsi, r15
je 0x1400aaf0b
mov r14d, 1
mov r12d, ebx
xor r12d, 0xa8b65b59
jmp 0x1400aae7f
inc r14d
mov rsi, rax
cmp rax, r15
je 0x1400aaf0b
mov eax, dword [0x1405ff11c]
add eax, r12d
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x28], 0
mov r8, qword [rsi + 0x58]
test r8, r8
je 0x1400aaea7
mov rcx, qword [rsi + 0x50]
mov edx, r14d
call fcn.140512320
mov r8, qword [rsi + 0x98]
test r8, r8
je 0x1400aaec2
mov rcx, qword [rsi + 0x90]
mov edx, r14d
call fcn.140512320
mov rcx, qword [rsi + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400aaef0
nop dword [rax]
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x1400aae70
mov rcx, rsi
mov rsi, rax
cmp rcx, qword [rax + 0x10]
je 0x1400aaed0
mov rax, rsi
jmp 0x1400aae70
mov rax, rcx
mov rcx, qword [rcx]
mov edx, ebx
xor dl, 0xc2
add dl, byte [0x1405ff118]
cmp byte [rcx + 0x19], dl
je 0x1400aaef0
jmp 0x1400aae70
mov byte [0x140694078], 1
movaps xmm0, xmmword [0x14052e790]
movups xmmword [0x1406873ff], xmm0
movups xmmword [0x14068740f], xmm0
movups xmmword [0x14068741f], xmm0
movups xmmword [0x14068742f], xmm0
cmp qword [0x140693e88], 0
jne 0x1400aaf73
mov edx, edi
xor edx, 0xb3ee2589
mov r8d, dword [rbp - 4]
xor r8d, 0xf5f6144
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 0x10]
mov qword [0x140693e88], rax
mov rsi, qword [0x140693e88]
mov r14, qword [rsi + 0x3b0]
test r14, r14
je 0x1400ab1dc
mov rcx, r14
call fcn.140096760
mov rcx, r14
call fcn.1400a75e0
cmp qword [0x140693e88], 0
mov qword [rsi + 0x3b0], 0
jne 0x1400ab1e7
mov edx, edi
xor edx, 0xb3ee2589
mov r8d, dword [rbp - 4]
xor r8d, 0xf5f6144
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 0x10]
mov qword [0x140693e88], rax
jmp 0x1400ab1e7
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.140512320
movaps xmm0, xmmword [0x14052e790]
movups xmmword [0x1406873ff], xmm0
movups xmmword [0x14068740f], xmm0
movups xmmword [0x14068741f], xmm0
movups xmmword [0x14068742f], xmm0
cmp qword [0x140693e88], 0
jne 0x1400ab05b
mov edx, edi
xor edx, 0xb3ee2589
mov r8d, dword [rbp - 4]
xor r8d, 0xf5f6144
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 0x10]
mov qword [0x140693e88], rax
mov r14, qword [0x140693e88]
mov r8, qword [r14 + 0x370]
mov rax, qword [r14 + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
test eax, eax
jle 0x1400ab106
mov esi, 1
mov r12d, 0x80
mov r15d, edi
xor r15d, 0xeb052a66
mov r13d, dword [rbp - 4]
xor r13d, 0xc9f0c766
cmp dword [r8 + r12 + 8], 0
jne 0x1400ab0b8
nop dword [rax]
cmp qword [r8 + r12 + 8], 0
je 0x1400ab0d0
mov edx, dword [r8 + r12 - 0x5c]
add r8, r12
mov dword [rsp + 0x20], r13d
mov rcx, r14
mov r9d, r15d
call fcn.1400a8290
mov r8, qword [r14 + 0x370]
mov rax, qword [r14 + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp rsi, rax
jge 0x1400ab106
inc rsi
add r12, 0xa0
cmp dword [r8 + r12 + 8], 0
je 0x1400ab0b0
jmp 0x1400ab0b8
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
movzx ecx, bl
xor ecx, 0xf4
add ecx, dword [0x1405ff110]
shr rax, cl
test eax, eax
jle 0x1400ab1a2
mov esi, 1
xor edi, 0xeb052a66
xor dword [rbp - 4], 0xc9f0c766
movabs r15, 0x1cc2e31c5
movabs r12, 0x7e78f4cdcc2e31c5
movabs r13, 0x1870b3233d1ce3b
nop word [rax + rax]
lea edx, [rsi - 1]
mov eax, dword [rbp - 4]
mov dword [rsp + 0x20], eax
mov rcx, r14
xor r8d, r8d
mov r9d, edi
call fcn.1400a8290
mov rax, qword [r14 + 0x398]
mov rcx, rax
xor rcx, r15
and rax, r12
lea rax, [rcx + rax*2]
sub rax, qword [r14 + 0x390]
add rax, r13
shr rax, 2
cmp esi, eax
jge 0x1400ab1a2
inc esi
jmp 0x1400ab160
mov rcx, qword [0x140694178]
test rcx, rcx
je 0x1400ab382
mov rax, qword [rcx]
mov rax, qword [rax]
xor ebx, 0xa8b65b5a
add ebx, dword [0x1405ff11c]
mov edx, ebx
call qword [0x1405fc400]
mov qword [0x140694178], 0
jmp 0x1400ab382
mov qword [rsi + 0x3b0], 0
mov rax, qword [0x140693e88]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x1400ab246
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.140512320
cmp qword [0x140693e88], 0
jne 0x1400ab246
mov edx, edi
xor edx, 0xb3ee2589
mov r8d, dword [rbp - 4]
xor r8d, 0xf5f6144
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 0x10]
mov qword [0x140693e88], rax
mov r14, qword [0x140693e88]
mov r8, qword [r14 + 0x370]
mov rax, qword [r14 + 0x378]
mov edx, ebx
movabs rcx, 0x243c83c716e46012
xor rcx, rdx
add rcx, qword [0x1405ff110]
sub rax, r8
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1400ab28e
cqo
idiv rcx
test eax, eax
jg 0x1400ab29a
jmp 0x1400ab31d
xor edx, edx
div ecx
test eax, eax
jle 0x1400ab31d
mov esi, 1
mov r12d, 0x80
xor ebx, 0xa8b65b59
mov r15d, edi
xor r15d, 0xeb052a66
mov r13d, dword [rbp - 4]
xor r13d, 0xc9f0c766
mov eax, dword [0x1405ff11c]
add eax, ebx
cmp dword [r8 + r12 + 8], eax
jne 0x1400ab2d7
cmp qword [r8 + r12 + 8], 0
je 0x1400ab2ef
mov edx, dword [r8 + r12 - 0x5c]
add r8, r12
mov dword [rsp + 0x20], r13d
mov rcx, r14
mov r9d, r15d
call fcn.1400a8290
mov r8, qword [r14 + 0x370]
mov rax, qword [r14 + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp rsi, rax
jge 0x1400ab31d
inc rsi
add r12, 0xa0
jmp 0x1400ab2c0
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
shr rax, 2
test eax, eax
jle 0x1400ab382
mov esi, 1
xor edi, 0xeb052a66
xor dword [rbp - 4], 0xc9f0c766
nop word cs:[rax + rax]
lea edx, [rsi - 1]
mov eax, dword [rbp - 4]
mov dword [rsp + 0x20], eax
mov rcx, r14
xor r8d, r8d
mov r9d, edi
call fcn.1400a8290
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
shr rax, 2
cmp esi, eax
jge 0x1400ab382
inc esi
jmp 0x1400ab350
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret