Function at 0x1400ab700
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov ebx, r9d
mov esi, r8d
mov edi, edx
mov r14d, ecx
mov eax, ecx
and eax, 0x20
mov ecx, dword [0x1405ff11c]
mov edx, r9d
xor edx, 0x47959eea
mov qword [rbp - 0x20], rdx
add edx, ecx
cmp eax, edx
mov eax, 0x701
mov r8d, 1
cmove r8d, eax
mov r15d, r9d
not r15d
mov eax, r15d
and eax, 0x3419aa43
mov edx, r9d
and edx, 0xcbe655bc
or edx, eax
add edx, ecx
mov r13d, edi
not r13d
not edx
mov eax, r13d
xor eax, edx
and eax, r13d
and edx, edi
or edx, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], edx
xor ecx, ecx
xor edx, edx
xor r9d, r9d
call fcn.1400a76b0
mov ecx, r14d
not ecx
xor r14d, 8
and ecx, 0xfffffff7
or ecx, r14d
mov edx, dword [0x1405ff11c]
mov r8d, ebx
and r8d, 0xb86a6104
mov r9d, r15d
and r9d, 0x47959efb
or r9d, r8d
mov r8d, r9d
xor r8d, 0x4be79a53
and r9d, 0x4be79a53
lea r8d, [r8 + r9*2]
lea r12d, [rdx + r8]
add r12d, 0xb41865ad
mov edx, eax
not edx
mov r8d, eax
xor r8d, r12d
xor r12d, edx
and r12d, edx
or r12d, r8d
cmp ecx, 0xffffffff
not r12d
cmovne r12d, eax
cmp r12d, 2
jb 0x1400abcaf
cmp qword [0x140696b98], 0
jne 0x1400ab8a9
mov edx, edi
xor edx, 0x2e55921e
mov eax, ebx
xor eax, 0xcc9d8335
add eax, dword [0x1405ff11c]
mov r8d, eax
xor r8d, eax
not r8d
and r8d, esi
xor r8d, eax
mov ecx, 0x30
call fcn.1400a8810
mov ecx, ebx
movabs rdx, 0x243c83c7f9c7a232
xor rdx, rcx
add rdx, qword [0x1405ff110]
mov qword [rax + 0x28], rdx
lea rdx, [0x14052ecd8]
mov qword [rax + 8], rdx
movabs rdx, 0x243c83c7f9c7a241
xor rdx, rcx
not rcx
or rcx, 0x6385dbe
and rcx, rdx
add rcx, qword [0x1405ff110]
mov dword [rax], 0
mov qword [rax + 0x20], rcx
mov byte [rax + 0x10], 0
mov qword [0x140696b98], rax
mov dword [rbp - 8], r13d
mov dword [rbp - 0x10], r15d
mov dword [rbp - 0xc], edi
mov rax, qword [0x140696b98]
mov ecx, r12d
not ecx
lea edx, [r12 - 0x80000000]
and ecx, 0x7fffffff
or ecx, edx
not ecx
or ecx, edx
mov dword [rax], ecx
mov rcx, qword [0x140694178]
test rcx, rcx
je 0x1400ab8fe
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 0x1400aba2f
mov r13, qword [rax + 0x20]
mov r15, qword [r13]
cmp r15, r13
je 0x1400aba2f
mov r14d, 1
mov eax, ebx
not rax
movabs rcx, 0x243c83c7f9c7a241
and rcx, rax
mov edi, ebx
xor edi, 0xf9c7a241
and edi, ebx
or rdi, rcx
jmp 0x1400ab960
lea r14d, [rax + rcx*2]
mov r15, rdx
cmp rdx, r13
je 0x1400aba2f
mov dword [r15 + 0x30], 0
mov eax, dword [0x1405ff11c]
add eax, dword [rbp - 0x20]
mov dword [r15 + 0x28], eax
mov r8, qword [r15 + 0x58]
mov rax, qword [0x1405ff110]
add rax, rdi
cmp r8, rax
je 0x1400ab994
mov rcx, qword [r15 + 0x50]
mov edx, r14d
call fcn.140512320
mov r8, qword [r15 + 0x98]
test r8, r8
je 0x1400ab9af
mov rcx, qword [r15 + 0x90]
mov edx, r14d
call fcn.140512320
mov eax, r14d
xor eax, 1
mov ecx, r14d
xor ecx, 0x7ffffffe
and ecx, r14d
mov r8, qword [r15 + 0x10]
cmp byte [r8 + 0x19], 0
je 0x1400aba00
nop dword [rax]
mov rdx, qword [r15 + 8]
mov r8d, ebx
xor r8b, 0x71
add r8b, byte [0x1405ff118]
cmp byte [rdx + 0x19], r8b
jne 0x1400ab950
mov r8, r15
mov r15, rdx
cmp r8, qword [rdx + 0x10]
je 0x1400ab9d0
mov rdx, r15
jmp 0x1400ab950
mov rdx, r8
mov r8, qword [r8]
movzx r9d, byte [0x1405ff118]
mov r10d, ebx
xor r10b, 0x71
mov r11d, r10d
xor r11b, r9b
and r10b, r9b
add r10b, r10b
add r10b, r11b
cmp byte [r8 + 0x19], r10b
je 0x1400aba00
jmp 0x1400ab950
movaps xmm0, xmmword [0x14052e790]
movups xmmword [0x14068742f], xmm0
movups xmmword [0x14068741f], xmm0
movups xmmword [0x14068740f], xmm0
movups xmmword [0x1406873ff], xmm0
cmp qword [0x140693e88], 0
mov r15d, dword [rbp - 0xc]
mov r13d, dword [rbp - 8]
jne 0x1400aba98
mov edx, r15d
xor edx, 0x2e55921e
mov r8d, esi
xor r8d, 0x7507f3bd
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 rdi, qword [0x140693e88]
mov r14, qword [rdi + 0x3b0]
test r14, r14
je 0x1400ababb
mov rcx, r14
call fcn.140096760
mov rcx, r14
call fcn.1400a75e0
mov qword [rdi + 0x3b0], 0
mov byte [0x140694078], 1
cmp qword [0x140693e88], 0
jne 0x1400abb1a
mov edx, r15d
xor edx, 0xd1aa6de1
and r13d, 0x2e55921e
or edx, r13d
not edx
or edx, r13d
mov r8d, esi
xor r8d, 0x7507f3bd
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 8]
mov qword [0x140693e88], rax
mov rax, qword [0x140693e88]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x1400abb79
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.140512320
cmp qword [0x140693e88], 0
jne 0x1400abb79
mov edx, r15d
xor edx, 0x2e55921e
mov r8d, esi
xor r8d, 0x7507f3bd
mov ecx, 0x700
call fcn.1400a8810
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140094bf0
mov rax, qword [rbp - 8]
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
mov rcx, qword [rbp - 0x20]
add ecx, dword [0x1405ff11c]
cmp eax, ecx
jle 0x1400abc47
mov edi, 1
mov r13d, 0x80
mov r15d, dword [rbp - 0xc]
xor r15d, 0x76be9df1
mov eax, dword [rbp - 0x10]
and eax, 0x13fe654b
xor ebx, 0xec019ab4
or ebx, eax
not ebx
or ebx, eax
cmp dword [r8 + r13 + 8], 0
jne 0x1400abbe8
nop
cmp qword [r8 + r13 + 8], 0
je 0x1400abc11
mov edx, dword [r8 + r13 - 0x5c]
add r8, r13
mov eax, dword [0x1405ff11c]
add eax, ebx
mov ecx, eax
xor ecx, eax
not ecx
and ecx, esi
xor ecx, eax
mov dword [rsp + 0x20], ecx
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 rdi, rax
jge 0x1400abc47
inc rdi
add r13, 0xa0
cmp dword [r8 + r13 + 8], 0
je 0x1400abbe0
jmp 0x1400abbe8
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
shr rax, 2
test eax, eax
mov ebx, dword [rbp - 0xc]
jle 0x1400abcaf
mov edi, 1
xor ebx, 0x76be9df1
xor esi, 0xb3a8559f
nop word cs:[rax + rax]
lea edx, [rdi - 1]
mov dword [rsp + 0x20], esi
mov rcx, r14
xor r8d, r8d
mov r9d, ebx
call fcn.1400a8290
mov rax, qword [r14 + 0x398]
sub rax, qword [r14 + 0x390]
shr rax, 2
cmp edi, eax
jge 0x1400abcaf
inc edi
jmp 0x1400abc80
cmp r12d, 2
setae al
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret