Function at 0x140017cf0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1401910c0]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rsi, rdx
xor edi, edi
cmp byte [0x14019d550], dil
je 0x1400187b2
mov qword [rsp + 0x40], rdi
mov r14d, 4
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, dword [r14 + rbx]
cmp dword [0x140194c08], eax
jle 0x140017d94
lea rcx, [0x140194c08]
call fcn.1400fe2e8
cmp dword [0x140194c08], 0xffffffff
jne 0x140017d94
movabs rcx, 0x9f4c773fb92eaba8
call fcn.140005a50
mov qword [0x140194568], rax
lea rcx, [0x140194c08]
call fcn.1400fe27c
mov rdx, qword [0x140194568]
add rdx, rsi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rsp + 0x68]
mov rcx, qword [0x1401968b0]
call fcn.140093380
mov eax, dword [r14 + rbx]
cmp dword [0x1401945a8], eax
jle 0x140017e02
lea rcx, [0x1401945a8]
call fcn.1400fe2e8
cmp dword [0x1401945a8], 0xffffffff
jne 0x140017e02
movabs rcx, 0x89b727c10692e033
call fcn.140005a50
mov qword [0x140194598], rax
lea rcx, [0x1401945a8]
call fcn.1400fe27c
mov rdx, qword [rsp + 0x68]
add rdx, qword [0x140194598]
mov qword [rbp - 0x70], 0
mov dword [rbp - 0x68], 0
mov qword [rsp + 0x20], rdi
mov r9d, 0xc
lea r8, [rbp - 0x70]
mov rcx, qword [0x1401968b0]
call fcn.140093380
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14008b230
test al, al
je 0x1400187b2
movzx eax, byte [0x14019d593]
imul ecx, eax, 0xb4
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, byte [0x14019d590]
mov byte [rsp + 0x68], al
movzx eax, byte [0x14019d591]
mov byte [rsp + 0x69], al
movzx eax, byte [0x14019d592]
mov byte [rsp + 0x6a], al
mov byte [rsp + 0x6b], dl
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x68], eax
cmp dword [0x14019d554], 0
setne r12b
mov qword [rbp - 0x60], rdi
lea rdx, [rsi + 0x10]
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rbp - 0x60]
mov rcx, qword [0x1401968b0]
call fcn.140093380
mov rbx, 0xffffffffffffffff
mov rdx, qword [rbp - 0x60]
test rdx, rdx
jne 0x140017f0e
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
xor r8d, r8d
lea rdx, [0x140161d45]
lea rcx, [rsp + 0x48]
call fcn.140005a90
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
jmp 0x1400181ad
mov qword [rbp - 0x58], rdi
add rdx, 8
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rbp - 0x58]
mov rcx, qword [0x1401968b0]
call fcn.140093380
mov qword [rbp - 0x50], rdi
mov rdx, qword [rbp - 0x58]
add rdx, 0x28
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rbp - 0x50]
mov rcx, qword [0x1401968b0]
call fcn.140093380
mov qword [rbp - 0x70], rdi
mov rdx, qword [rbp - 0x50]
add rdx, 8
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rbp - 0x70]
mov rcx, qword [0x1401968b0]
call fcn.140093380
mov rsi, qword [rbp - 0x70]
test rsi, rsi
jne 0x140017fa4
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
xor r8d, r8d
lea rdx, [0x140161d45]
jmp 0x140017ffe
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x40]
call fcn.140132ce0
mov qword [rsp + 0x20], rdi
mov r9d, 0x100
lea r8, [rbp - 0x40]
mov rdx, rsi
mov rcx, qword [0x1401968b0]
call fcn.140093380
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
lea rax, [rbp - 0x40]
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140017ff0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.140005a90
nop
mov rsi, qword [rbp - 0x80]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
test rsi, rsi
jne 0x140018088
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
xor r8d, r8d
lea rdx, [0x140161d45]
lea rcx, [rsp + 0x48]
call fcn.140005a90
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140017eff
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018074
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187fa
call fcn.1400fe6ac
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
jmp 0x1400181ad
lea rax, [rsp + 0x70]
mov r13, qword [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, r13
mov qword [rsp + 0x30], rax
movabs r14, 0x7fffffffffffffff
cmp rsi, r14
ja 0x1400187ee
cmp rsi, 0xf
ja 0x1400180db
mov qword [rsp + 0x58], rsi
mov r14d, 0xf
mov qword [rsp + 0x60], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movq r15, xmm0
jmp 0x140018172
mov rax, rsi
or rax, 0xf
cmp rax, r14
jbe 0x140018114
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400fe360
test rax, rax
je 0x1400187f4
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140018151
mov r14, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x14001813f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400187e8
jmp 0x1400180f5
test rcx, rcx
je 0x14001814e
call fcn.1400fe360
mov r15, rax
jmp 0x140018151
mov r15, rdi
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r14
lea r8, [rsi + 1]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140132640
nop
mov rax, qword [rbp - 0x78]
cmp rax, 0xf
jbe 0x1400181ad
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x1400181a5
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187fa
mov rcx, r13
call fcn.1400fe6ac
lea rdx, [rsp + 0x48]
cmp r14, 0xf
cmova rdx, r15
movabs rsi, 0xcbf29ce484222325
mov rcx, rbx
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1400181c7
test rcx, rcx
je 0x1400181f4
movabs r8, 0x100000001b3
nop
movsx rax, byte [rdi + rdx]
xor rsi, rax
imul rsi, r8
inc rdi
cmp rdi, rcx
jb 0x1400181e0
cmp r14, 0xf
jbe 0x14001822b
lea rdx, [r14 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140018223
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400187e2
mov rcx, r15
call fcn.1400fe6ac
movabs rax, 0x6d34884c899cbc1a
cmp rsi, rax
ja 0x1400185be
je 0x1400184ee
movabs rax, 0x8c1587586c04d85
cmp rsi, rax
je 0x14001841e
movabs rax, 0x5597d0d77a2af3ae
cmp rsi, rax
je 0x14001834e
movabs rax, 0x64e3f974d815a74c
cmp rsi, rax
jne 0x1400187b2
movss xmm1, dword [rsp + 0x44]
movabs rcx, 0xa36975f4ebb5bb1b
mov qword [rsp + 0x70], rcx
test r12b, r12b
je 0x1400182fa
movabs rax, 0xa36975f4ebb5bb77
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400182e0
mov byte [rsp + 0x20], 0x23
mov r9, qword [0x1401969b0]
jmp 0x140018785
movabs rax, 0xa36975ada7f9f456
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018340
jmp 0x140018779
movss xmm1, dword [rsp + 0x44]
movabs rcx, 0xa36975f4ebb5bb1b
mov qword [rsp + 0x70], rcx
test r12b, r12b
je 0x1400183ca
movabs rax, 0xa36975f4ebb5bb77
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400183b0
mov byte [rsp + 0x20], 0x23
mov r9, qword [0x1401969b0]
jmp 0x140018785
movabs rax, 0xa36975f4aee7f25d
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018410
jmp 0x140018779
movss xmm1, dword [rsp + 0x44]
movabs rcx, 0xa36975f4ebb5bb1b
mov qword [rsp + 0x70], rcx
test r12b, r12b
je 0x14001849a
movabs rax, 0xa36975f4ebb5bb70
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018480
mov byte [rsp + 0x20], 0x23
mov r9, qword [0x1401969b0]
jmp 0x140018785
movabs rax, 0xa36975b1a0faf648
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400184e0
jmp 0x140018779
movss xmm1, dword [rsp + 0x44]
movabs rcx, 0xa36975f4ebb5bb1b
mov qword [rsp + 0x70], rcx
test r12b, r12b
je 0x14001856a
movabs rax, 0xa36975f4ebb5bb76
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018550
mov byte [rsp + 0x20], 0x23
mov r9, qword [0x1401969b0]
jmp 0x140018785
movabs rax, 0xa36975ada4f6fe5f
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400185b0
jmp 0x140018779
movabs rax, 0x6db2d48c902f3fee
cmp rsi, rax
je 0x1400186ae
movabs rax, 0x91822fbfaefe3825
cmp rsi, rax
jne 0x1400187b2
movss xmm1, dword [rsp + 0x44]
movabs rcx, 0xa36975f4ebb5bb1b
mov qword [rsp + 0x70], rcx
test r12b, r12b
je 0x14001865b
movabs rax, 0xa36975f4ebb5bb71
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018641
mov byte [rsp + 0x20], 0x23
mov r9, qword [0x1401969b0]
jmp 0x140018785
movabs rax, 0xa36975f4acf4e95d
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400186a0
jmp 0x140018779
movss xmm1, dword [rsp + 0x44]
movabs rcx, 0xa36975f4ebb5bb1b
mov qword [rsp + 0x70], rcx
test r12b, r12b
je 0x140018727
movabs rax, 0xa36975f4ebb5bb72
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018710
mov byte [rsp + 0x20], 0x23
mov r9, qword [0x1401969b0]
jmp 0x140018785
movabs rax, 0xa36975bcb8f4f75d
mov qword [rsp + 0x30], rax
movabs rax, 0x903c783dbef8d34c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140018770
mov r9, qword [0x1401969a8]
mov byte [rsp + 0x20], 0x13
mov qword [rsp + 0x78], rbx
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0x40]
unpcklps xmm0, xmm1
lea r8, [rsp + 0x68]
movq rdx, xmm0
lea rcx, [rsp + 0x70]
call fcn.140091090
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400fe220
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14010555c
nop
call fcn.140001af0
nop
call fcn.140001b90
int3
call fcn.14010555c
nop
call fcn.14010555c
int3