Function at 0x14001b600
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov rbx, qword [0x1400694a0]
movss xmm0, dword [0x14005b8bc]
comiss xmm0, dword [rbx + 0x2098]
ja 0x14001badb
cmp qword [rbx + 0x2090], 0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r14
lea r14, [0x140000000]
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
jne 0x14001b6e9
movdqa xmm0, xmmword [0x14005c7d0]
xor ecx, ecx
movdqu xmmword [rbp + 0x17], xmm0
mov dword [rbp + 0x27], 0xdedac1
mov byte [rbp + 0x2b], 1
nop
lea eax, [rcx - 0x68]
xor byte [rbp + rcx + 0x17], al
inc rcx
cmp rcx, 0x13
jb 0x14001b670
movzx r9d, byte [rbp + 0x17]
lea r8, [rbp + 0x18]
mov byte [rbp + 0x2b], 0
mov r10d, 0xffffffff
mov edx, r10d
test r9b, r9b
je 0x14001b6d4
nop dword [rax + rax]
cmp r9b, 0x23
jne 0x14001b6b3
cmp byte [r8], r9b
jne 0x14001b6b3
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r14 + rcx*4 + 0x57220]
test r9b, r9b
jne 0x14001b6a0
not edx
lea rcx, [rbx + 0x1cf8]
call fcn.140007d70
mov qword [rbx + 0x2090], rax
mov rax, qword [rbx + 0x1ef8]
lea rdx, [rbp - 0x19]
mov dword [rbp + 0xf], 0x7f7fffff
mov dword [rbp + 0x13], 0x7f7fffff
movups xmm0, xmmword [rbp + 7]
mov rcx, qword [rax]
mov dword [rbp - 0x19], 1
movss xmm2, dword [rcx + 0x10]
movss xmm1, dword [rcx + 0x14]
or dword [rbx + 0x1dc0], 0x10
mulss xmm1, dword [0x14005b8c0]
mov qword [rbx + 0x1e10], 0
mulss xmm2, dword [0x14005b8c0]
mov qword [rbx + 0x1e18], 0
movss xmm0, xmm2
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm1
shufps xmm0, xmm0, 0xe1
movups xmmword [rbx + 0x1e00], xmm0
movss xmm1, dword [rcx + 0x14]
movss xmm2, dword [rcx + 0x10]
mulss xmm1, dword [0x14005b8d8]
mulss xmm2, dword [0x14005b8d8]
addss xmm1, dword [rcx + 0xc]
movups xmmword [rbp + 7], xmm0
addss xmm2, dword [rcx + 8]
or dword [rbx + 0x1dc0], 1
lea rcx, [rbx + 0x1e80]
movss dword [rbx + 0x1dd8], xmm1
mov dword [rbx + 0x1ddc], 0x3f000000
mov dword [rbx + 0x1de0], 0x3f000000
movss dword [rbx + 0x1dd4], xmm2
mov dword [rbx + 0x1dc4], 1
mov byte [rbx + 0x1dfc], 1
movss xmm7, dword [rbx + 0x163c]
movss xmm6, dword [rbx + 0x1640]
addss xmm7, xmm7
movss xmm1, dword [rbx + 0x163c]
addss xmm6, xmm6
movss xmm0, dword [rbx + 0x1640]
movss dword [rbp - 0x15], xmm1
movss dword [rbp - 0x11], xmm0
call fcn.140027550
movdqa xmm0, xmmword [0x14005c7d0]
xor ecx, ecx
movss dword [rbx + 0x163c], xmm7
movaps xmm7, xmmword [rsp + 0x80]
movss dword [rbx + 0x1640], xmm6
movaps xmm6, xmmword [rsp + 0x90]
movdqu xmmword [rbp + 0x17], xmm0
mov dword [rbp + 0x27], 0xdedac1
mov byte [rbp + 0x2b], 1
nop word [rax + rax]
lea eax, [rcx - 0x68]
xor byte [rbp + rcx + 0x17], al
inc rcx
cmp rcx, 0x13
jb 0x14001b840
xor edx, edx
mov byte [rbp + 0x2b], 0
mov r8d, 0xc1347
lea rcx, [rbp + 0x17]
call fcn.140012690
mov eax, dword [rbx + 0x1cc8]
sub eax, 1
movsxd rdi, eax
js 0x14001ba50
nop word [rax + rax]
mov rax, qword [rbx + 0x1cd0]
mov r9, qword [rax + rdi*8]
cmp byte [r9 + 0xd0], 0
je 0x14001ba46
cmp r9, qword [r9 + 0x3d0]
jne 0x14001ba46
mov r8d, dword [r9 + 0xc]
bt r8d, 0x13
jb 0x14001ba46
mov rcx, qword [r9]
mov rax, rcx
cmp rcx, 0xffffffffffffffff
jae 0x14001b8e4
movzx edx, byte [rax]
test dl, dl
je 0x14001b8db
cmp dl, 0x23
jne 0x14001b8d2
cmp byte [rax + 1], dl
je 0x14001b8db
inc rax
cmp rax, 0xffffffffffffffff
jb 0x14001b8c1
cmp rcx, rax
jne 0x14001ba28
bt r8d, 0x1a
jae 0x14001b91d
mov dword [rbp - 0x29], 0xebf5c9b0
xor ecx, ecx
mov dword [rbp - 0x25], 0xb7ede9
mov byte [rbp - 0x21], 1
nop
lea eax, [rcx - 0x68]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 7
jb 0x14001b900
mov byte [rbp - 0x21], 0
lea rcx, [rbp - 0x29]
jmp 0x14001ba28
bt r8d, 0xa
jae 0x14001b9ba
mov dword [rbp + 7], 0xfad7babb
xor edx, edx
mov dword [rbp + 0xb], 0xfad3f3f5
mov dword [rbp + 0xf], 0xc2e0d4ce
mov word [rbp + 0x13], 0xd6
mov byte [rbp + 0x15], 1
nop dword [rax]
lea eax, [rdx - 0x68]
xor byte [rbp + rdx + 7], al
inc rdx
cmp rdx, 0xd
jb 0x14001b950
lea r8, [rbp + 7]
mov byte [rbp + 0x15], 0
sub r8, rcx
nop dword [rax + rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x14001b983
inc rcx
test eax, eax
jne 0x14001b970
test edx, edx
jne 0x14001b9ba
movdqa xmm0, xmmword [0x14005bab0]
xor ecx, ecx
movdqu xmmword [rbp + 0x17], xmm0
mov byte [rbp + 0x27], 1
nop word [rax + rax]
lea eax, [rcx - 0x68]
xor byte [rbp + rcx + 0x17], al
inc rcx
cmp rcx, 0xf
jb 0x14001b9a0
mov byte [rbp + 0x27], 0
lea rcx, [rbp + 0x17]
jmp 0x14001ba28
xor ecx, ecx
cmp qword [r9 + 0x450], rcx
je 0x14001b9fa
mov dword [rbp - 9], 0xf8f5ddb0
mov dword [rbp - 5], 0xf0f0bdf7
mov dword [rbp - 1], 0x8bc4c4
mov byte [rbp + 3], 1
nop
lea eax, [rcx - 0x68]
xor byte [rbp + rcx - 9], al
inc rcx
cmp rcx, 0xb
jb 0x14001b9e0
mov byte [rbp + 3], 0
lea rcx, [rbp - 9]
jmp 0x14001ba28
mov dword [rbp - 0x19], 0xeff4ccb0
mov dword [rbp - 0x15], 0xfaf2e9f5
mov dword [rbp - 0x11], 0x10088c4
nop
lea eax, [rcx - 0x68]
xor byte [rbp + rcx - 0x19], al
inc rcx
cmp rcx, 0xa
jb 0x14001ba10
mov byte [rbp - 0xe], 0
lea rcx, [rbp - 0x19]
cmp qword [rbx + 0x2080], r9
lea r9, [rbp + 0x67]
mov qword [rbp + 0x67], 0
sete dl
xor r8d, r8d
call fcn.140040d90
sub rdi, 1
jns 0x14001b880
call fcn.140015520
mov rcx, qword [0x1400694a0]
mov rdi, qword [rsp + 0xb8]
movsxd rax, dword [rcx + 0x1e80]
mov r8, qword [rcx + 0x1e88]
lea rdx, [rax + rax*2]
movsxd rax, dword [r8 + rdx*4 - 0xc]
lea r10, [rax + rax*2]
cmp dword [r14 + r10*4 + 0x570e0], 8
mov r9d, dword [r14 + r10*4 + 0x570e8]
jne 0x14001bacd
mov eax, dword [r14 + r10*4 + 0x570e4]
cmp eax, 1
jne 0x14001baae
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1638], eax
jmp 0x14001bacd
cmp eax, 2
jne 0x14001bacd
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1638], eax
mov eax, dword [r8 + rdx*4 - 4]
mov dword [r9 + rcx + 0x163c], eax
dec dword [rcx + 0x1e80]
mov r14, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
add rsp, 0xa0
pop rbp
ret