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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov rax, qword [0x14019f300]
xor rax, rsp
mov qword [rbp + 0xe0], rax
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
mov dword [rbp + 0x60], ebx
mov qword [rbp + 0x68], rbx
mov qword [rbp + 0x70], rbx
mov ecx, 0x38
call fcn.1400e0688
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x78], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], 7
mov qword [rbp + 0x98], 8
mov dword [rbp + 0x60], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0x78]
call fcn.140025430
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
mov dword [rbp + 0xa0], ebx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
mov ecx, 0x38
call fcn.1400e0688
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb8], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xd8], 8
mov dword [rbp + 0xa0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0xb8]
call fcn.140025430
nop
mov dword [rbp + 0x58], ebx
mov r15d, ebx
mov dword [rsp + 0x20], ebx
mov rcx, qword [0x1401e1888]
mov rdi, qword [0x1401e1880]
sub rcx, rdi
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
movabs r14, 0x6bca1af286bca1b
add rdx, rax
je 0x1400196b9
lea rax, [rbp + 0x58]
mov qword [rbp - 0x60], rax
mov r12d, ebx
mov qword [rsp + 0x28], rbx
movzx r13d, byte [rbp - 0x65]
nop
add rdi, r12
mov dword [rdi + 0x20], r15d
mov qword [rbp - 0x68], rdi
lea rdx, [rdi + 0x68]
lea rcx, [rbp - 0x68]
call fcn.140019ef0
lea rdx, [rdi + 0x50]
lea rcx, [rbp - 0x68]
call fcn.140019ef0
mov esi, ebx
mov r8, qword [rdi + 0x80]
mov rcx, qword [rdi + 0x88]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14001966d
mov r14, rbx
movzx r12d, word [rbp - 0x67]
movabs r15, 0x6bca1af286bca1b
nop dword [rax]
nop dword [rax + rax]
lea rbx, [r14 + r8]
mov qword [rbx], rdi
mov dword [rbx + 8], esi
lea rdx, [rbx + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140020f40
mov byte [rsp + 0x78], 1
mov word [rsp + 0x79], r12w
mov byte [rsp + 0x7b], r13b
mov dword [rsp + 0x7c], 2
mov qword [rbp - 0x80], rbx
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x78]
call fcn.140032120
nop
lea rcx, [rsp + 0x58]
call fcn.140024630
inc esi
lea r14, [r14 + 0x98]
mov r8, qword [rdi + 0x80]
mov rcx, qword [rdi + 0x88]
sub rcx, r8
mov rax, r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, esi
cmp rax, rdx
jb 0x1400195d0
mov r15d, dword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
xor ebx, ebx
movabs r14, 0x6bca1af286bca1b
inc r15d
mov dword [rsp + 0x20], r15d
add r12, 0xb0
mov qword [rsp + 0x28], r12
mov rcx, qword [0x1401e1888]
mov rdi, qword [0x1401e1880]
sub rcx, rdi
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r15d
cmp rax, rdx
jb 0x140019560
xor r15d, r15d
mov dword [rsp + 0x20], r15d
mov rcx, qword [0x1401e1888]
sub rcx, rdi
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140019ba9
mov r13d, r15d
mov qword [rsp + 0x50], r15
nop dword [rax]
nop dword [rax + rax]
lea rsi, [rdi + r13]
mov r12, qword [rsi + 0x38]
mov qword [rsp + 0x28], r12
mov rax, qword [rsi + 0x40]
mov qword [rbp - 0x68], rax
cmp r12, rax
je 0x1400199b9
nop
mov rax, qword [r12]
mov rbx, qword [rax + 0xb8]
mov r15, qword [rax + 0xc0]
cmp rbx, r15
je 0x14001979d
cmp dword [rbx + 0xc], 0x17
jne 0x140019794
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0xa0]
call fcn.1400272c0
test al, al
jne 0x140019794
mov ecx, dword [rbx + 0x70]
mov edi, dword [rbx + 0x6c]
test ecx, ecx
jle 0x140019762
mov eax, edi
cdq
idiv ecx
mov edi, eax
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x58]
call fcn.140020f40
mov dword [rsp + 0x78], edi
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0xa0]
call fcn.140032340
nop
lea rcx, [rsp + 0x58]
call fcn.140024630
sub rbx, 0xffffffffffffff80
cmp rbx, r15
jne 0x140019737
mov rax, qword [r12]
mov r14, qword [rax + 0x60]
mov rdi, qword [rax + 0x58]
cmp rdi, r14
je 0x14001988f
mov rdx, rdi
call fcn.140026ff0
test al, al
je 0x140019882
mov r8, rdi
lea rdx, [rbp - 8]
call fcn.1400286a0
mov rbx, qword [rax]
add rbx, 0x30
je 0x140019882
cmp byte [rbx], 0
je 0x140019882
mov rbx, qword [rbx + 8]
mov qword [rbp - 0x78], rbx
mov rcx, qword [r12]
add rcx, 0x70
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x140019808
mov qword [rdx], rbx
add qword [rcx + 8], 8
jmp 0x140019811
lea r8, [rbp - 0x78]
call fcn.140034fa0
mov rcx, qword [rbx]
mov eax, dword [rsi + 0x20]
cmp dword [rcx + 0x20], eax
je 0x14001982c
lea rcx, [rsi + 0x28]
mov r8, rbx
lea rdx, [rbp + 8]
call fcn.1400273b0
lea rcx, [rbx + 0x88]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14001984b
mov rax, qword [r12]
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x140019853
mov r8, r12
call fcn.140034fa0
mov rax, qword [r12]
mov rdx, qword [rax + 0xb8]
mov rcx, qword [rax + 0xc0]
sub rcx, rdx
sar rcx, 7
test rcx, rcx
je 0x140019882
mov eax, dword [rdx + 0x68]
cmp eax, dword [rbx + 0xa4]
jge 0x140019882
mov dword [rbx + 0xa4], eax
add rdi, 0x20
cmp rdi, r14
jne 0x1400197b2
mov rax, qword [r12]
mov rbx, qword [rax + 0xc0]
mov qword [rbp - 0x78], rbx
mov r13, qword [rax + 0xb8]
cmp r13, rbx
je 0x14001999a
lea r15, [r13 + 0x10]
cmp byte [r15 - 8], 0
je 0x140019984
mov rdx, r15
call fcn.140026ff0
test al, al
je 0x140019984
mov r8, r15
lea rdx, [rbp + 0x18]
call fcn.1400286a0
mov r14, qword [rax]
add r14, 0x30
je 0x140019984
cmp byte [r14], 0
je 0x140019984
mov qword [r13], r14
mov r12, qword [r15 + 0x28]
mov rdi, qword [r15 + 0x20]
cmp rdi, r12
je 0x140019968
lea rbx, [rdi + 0x10]
mov rdx, rbx
call fcn.140026ff0
test al, al
je 0x140019957
mov r8, rbx
lea rdx, [rbp + 0x28]
call fcn.1400286a0
mov rcx, qword [rax]
add rcx, 0x30
je 0x140019957
cmp byte [rcx], 0
je 0x140019957
mov qword [rdi], rcx
mov eax, dword [rbx - 4]
cmp eax, 2
je 0x140019957
cmp eax, 0x1a
je 0x140019957
mov r8, qword [rcx + 8]
mov rcx, qword [r8]
mov eax, dword [rsi + 0x20]
cmp dword [rcx + 0x20], eax
je 0x140019957
lea rcx, [rsi + 0x28]
lea rdx, [rbp + 0x38]
call fcn.1400273b0
add rdi, 0x48
add rbx, 0x48
cmp rdi, r12
jne 0x140019905
mov rbx, qword [rbp - 0x78]
mov r8, qword [r14 + 8]
mov rcx, qword [r8]
mov eax, dword [rsi + 0x20]
cmp dword [rcx + 0x20], eax
je 0x140019984
lea rcx, [rsi + 0x28]
lea rdx, [rbp + 0x48]
call fcn.1400273b0
sub r13, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
cmp r13, rbx
jne 0x1400198b2
mov r12, qword [rsp + 0x28]
add r12, 8
mov qword [rsp + 0x28], r12
cmp r12, qword [rbp - 0x68]
jne 0x140019720
mov rdi, qword [0x1401e1880]
mov r13, qword [rsp + 0x50]
mov r15, qword [rsi + 0xa0]
mov r14, qword [rsi + 0x98]
cmp r14, r15
je 0x140019a76
mov rbx, qword [r14]
cmp byte [rbx + 0x20], 0
je 0x140019a0c
lea rcx, [rbx + 0x28]
call fcn.140018fa0
test rax, rax
je 0x140019a0c
cmp byte [rax], 0
je 0x140019a0c
mov qword [rbx + 0x18], rax
mov r8, qword [rax + 8]
mov rcx, qword [r8]
mov eax, dword [rsi + 0x20]
cmp dword [rcx + 0x20], eax
je 0x140019a0c
lea rcx, [rsi + 0x28]
lea rdx, [rbp - 0x48]
call fcn.1400273b0
mov rax, qword [r14]
mov rdi, qword [rax + 0x68]
mov rbx, qword [rax + 0x60]
cmp rbx, rdi
je 0x140019a62
nop dword [rax]
cmp byte [rbx + 0x38], 0
je 0x140019a59
lea rcx, [rbx + 0x40]
call fcn.140018fa0
test rax, rax
je 0x140019a59
cmp byte [rax], 0
je 0x140019a59
mov qword [rbx + 0x30], rax
mov r8, qword [rax + 8]
mov rcx, qword [r8]
mov eax, dword [rsi + 0x20]
cmp dword [rcx + 0x20], eax
je 0x140019a59
lea rcx, [rsi + 0x28]
lea rdx, [rbp - 0x38]
call fcn.1400273b0
add rbx, 0x78
cmp rbx, rdi
jne 0x140019a20
add r14, 8
cmp r14, r15
jne 0x1400199d0
mov rdi, qword [0x1401e1880]
xor r15d, r15d
mov r14d, r15d
mov r8, qword [rsi + 0x80]
mov rcx, qword [rsi + 0x88]
sub rcx, r8
movabs r12, 0x6bca1af286bca1b
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140019b5f
mov r9d, r15d
nop dword [rax]
nop dword [rax + rax]
imul rbx, r9, 0x98
add rbx, r8
lea rdx, [rbx + 0x38]
lea rcx, [rbp - 0x68]
call fcn.1400145a0
nop
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov qword [rsp + 0x78], rbx
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x60]
call fcn.140032670
nop
lea rcx, [rsp + 0x58]
call fcn.140024630
nop
lea rcx, [rbp - 0x68]
call fcn.140024630
inc r14d
mov r8, qword [rsi + 0x80]
movsxd r9, r14d
mov rcx, qword [rsi + 0x88]
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jb 0x140019ac0
mov rdi, qword [0x1401e1880]
mov r8d, dword [rsp + 0x20]
inc r8d
mov dword [rsp + 0x20], r8d
add r13, 0xb0
mov qword [rsp + 0x50], r13
mov rcx, qword [0x1401e1888]
sub rcx, rdi
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r8d
cmp rax, rdx
jb 0x140019700
mov r13, qword [rbp + 0xa8]
mov rbx, qword [r13]
cmp rbx, r13
je 0x140019e27
movabs r11, 0x100000001b3
movabs r9, 0xcbf29ce484222325
mov rsi, qword [rbx + 0x20]
lea r8, [rbx + 0x10]
mov r12, qword [rbx + 0x28]
cmp r12, 0xf
jbe 0x140019be7
mov r8, qword [rbx + 0x10]
mov rcx, r9
mov rdx, r15
test rsi, rsi
je 0x140019c14
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, rsi
jb 0x140019c00
and rcx, qword [rbp + 0x90]
add rcx, rcx
mov rax, qword [rbp + 0x78]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [rbp + 0x68]
je 0x140019c9d
mov r15, qword [rax + rcx*8]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140019c43
mov rdx, qword [rdx]
lea rcx, [rbx + 0x10]
cmp r12, 0xf
jbe 0x140019c51
mov rcx, qword [rbx + 0x10]
cmp rsi, rax
jne 0x140019c62
mov r8, rsi
call fcn.140113760
test eax, eax
je 0x140019c6d
cmp rdi, r15
je 0x140019c86
mov rdi, qword [rdi + 8]
jmp 0x140019c31
movabs r11, 0x100000001b3
movabs r9, 0xcbf29ce484222325
xor r15d, r15d
jmp 0x140019ca0
xor r15d, r15d
movabs r11, 0x100000001b3
movabs r9, 0xcbf29ce484222325
mov rdi, r15
test rdi, rdi
jne 0x140019cf0
lea r8, [rbx + 0x10]
mov r10, qword [r8 + 0x10]
mov rdx, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x140019cba
mov rdx, qword [r8]
mov rcx, r15
test r10, r10
je 0x140019cd5
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r11
inc rcx
cmp rcx, r10
jb 0x140019cc2
lea rdx, [rbp - 0x28]
lea rcx, [0x1401e18b0]
call fcn.140031380
cmp qword [rax + 8], 0
je 0x140019e14
mov eax, dword [rbx + 0x30]
cmp eax, 4
jbe 0x140019d07
lea rdx, str.uint64_t
mov r8d, 8
jmp 0x140019d3c
cmp eax, 2
jbe 0x140019d1b
lea rdx, str.uint32_t
mov r8d, 8
jmp 0x140019d3c
cmp eax, 1
jbe 0x140019d2f
lea rdx, str.uint16_t
mov r8d, 8
jmp 0x140019d3c
lea rdx, str.uint8_t
mov r8d, 7
xorps xmm0, xmm0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
movups xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.14000e030
nop
lea r8, [rbx + 0x10]
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x60]
call fcn.140027720
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x30]
add rdi, 0x58
lea rax, [rsp + 0x30]
cmp rdi, rax
je 0x140019de5
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x140019db9
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140019db4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140019edd
mov rcx, r8
call fcn.1400e0560
mov qword [rdi + 0x18], 0xf
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.140024630
mov edi, dword [rbx + 0x30]
lea r8, [rbx + 0x10]
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x60]
call fcn.140027720
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov dword [rax + 0x78], edi
mov r13, qword [rbp + 0xa8]
mov rbx, qword [rbx]
cmp rbx, r13
jne 0x140019bbd
mov rdi, qword [0x1401e1880]
mov r15, qword [0x1401e1888]
cmp rdi, r15
je 0x140019e97
lea rsi, [rdi + 0x70]
nop word [rax + rax]
mov r14, qword [rsi - 0x18]
mov rbx, qword [rsi - 0x20]
cmp rbx, r14
je 0x140019e64
nop dword [rax]
mov rcx, rbx
call fcn.140016920
add rbx, 0x118
cmp rbx, r14
jne 0x140019e50
mov r14, qword [rsi]
mov rbx, qword [rsi - 8]
cmp rbx, r14
je 0x140019e84
mov rcx, rbx
call fcn.140016920
add rbx, 0x118
cmp rbx, r14
jne 0x140019e70
add rdi, 0xb0
add rsi, 0xb0
cmp rdi, r15
jne 0x140019e40
lea rcx, [rbp + 0xa0]
call fcn.14001a2e0
nop
lea rcx, [rbp + 0x60]
call fcn.14000dea0
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1400e0540
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400f0e0c
nop
int3