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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov rdi, r9
mov qword [rsp + 0x88], rdx
mov rsi, rcx
mov rbp, qword [rcx + 8]
cmp dword [rbp + 0x490], r8d
je 0x1400c0291
mov ebx, r8d
mov rax, qword [rsi + 0x18]
cmp byte [rax], 0
mov dl, byte [rax + 1]
je 0x1400c0240
cmp dl, 1
jbe 0x1400c025b
jmp 0x1400c027b
xor ecx, ecx
cmp dl, 1
setne dl
sbb ecx, ecx
or cl, dl
cmp cl, 1
je 0x1400c027b
test cl, cl
jne 0x1400c025b
cmp byte [rax + 2], 5
jae 0x1400c027b
mov rax, qword [rsi + 0x20]
cmp byte [rax + 0x44], 0
je 0x1400c08bf
mov rax, qword [rsi]
mov ecx, 0x8892
mov edx, ebx
call qword [rax + 0x140]
jmp 0x1400c028b
mov rax, qword [rsi]
mov ecx, 0x8892
mov edx, ebx
call qword [rax + 0x130]
mov dword [rbp + 0x490], ebx
lea rax, [rdi + 0x10]
lea rcx, [rdi + 0x18]
cmp dword [rdi], 1
cmove rax, rcx
mov rax, qword [rax]
test rax, rax
je 0x1400c0882
mov r15, qword [rdi + 8]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r15
mov qword [rsp + 0x80], rax
mov rax, qword [rsi]
mov qword [rsp + 0x50], rax
pcmpeqd xmm8, xmm8
movabs r14, 0x100000001b3
jmp 0x1400c0722
test ax, ax
jne 0x1400c0320
pcmpeqb xmm6, xmm8
pmovmskb eax, xmm6
test ax, ax
jne 0x1400c0710
add rbp, rdx
add rbp, 0x10
add rdx, 0x10
and rbp, rbx
movdqu xmm6, xmmword [r10 + rbp]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb eax, xmm0
jmp 0x1400c02e0
mov qword [rsp + 0x68], rdx
mov byte [rsp + 0x38], r12b
mov rdx, r9
shr rdx, 0x20
mov qword [rsp + 0x60], rdx
mov edx, dword [rsp + 0x48]
mov r12, r9
mov qword [rsp + 0x40], rdx
shrd r12, rdx, 0x20
lea edx, [rax - 1]
and edx, eax
mov qword [rsp + 0x78], rdx
bsf ax, ax
movzx eax, ax
mov qword [rsp + 0x58], rbp
add rax, rbp
mov qword [rsp + 0x70], rbx
and rax, rbx
neg rax
lea rbp, [rax + rax*4]
cmp qword [r10 + rbp*8 - 0x18], r8
jne 0x1400c03a3
mov rdx, qword [r10 + rbp*8 - 0x28]
mov rcx, rsi
mov r13, r12
mov r12, r8
mov rbx, r9
mov rdi, r10
call sub.VCRUNTIME140.dll_memcmp
mov r10, rdi
mov r8, r12
mov r12, r13
mov r9, rbx
test eax, eax
je 0x1400c0420
mov rax, qword [rsp + 0x78]
test ax, ax
je 0x1400c03d2
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x58]
lea edx, [rax - 1]
and edx, eax
bsf ax, ax
movzx eax, ax
mov qword [rsp + 0x58], rbp
add rax, rbp
mov qword [rsp + 0x78], rdx
jmp 0x1400c0365
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x58]
pcmpeqb xmm6, xmm8
pmovmskb eax, xmm6
test ax, ax
mov rax, qword [rsp + 0x68]
jne 0x1400c0710
add rbp, rax
add rbp, 0x10
add rax, 0x10
mov qword [rsp + 0x68], rax
and rbp, rbx
movdqu xmm6, xmmword [r10 + rbp]
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb eax, xmm0
test ax, ax
je 0x1400c03dc
jmp 0x1400c03b7
mov esi, dword [r10 + rbp*8 - 8]
cmp esi, 0xffffffff
mov al, byte [rsp + 0x38]
je 0x1400c0710
lea rdi, [r10 + rbp*8]
add rdi, 0xfffffffffffffff8
test al, al
je 0x1400c04ed
cmp dword [rsp + 0x48], 0
jle 0x1400c0710
mov qword [rsp + 0x38], r15
mov r13, qword [rsp + 0x30]
add r13, qword [rsp + 0x130]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x63d0]
mov qword [rsp + 0x28], r13
mov rbp, qword [rsp + 0x138]
mov dword [rsp + 0x20], ebp
mov ecx, esi
mov rbp, qword [rsp + 0x60]
mov edx, ebp
mov r8d, r9d
mov qword [rsp + 0x30], r9
mov r9b, 1
mov r15, rax
call rax
cmp qword [rsp + 0x40], 1
je 0x1400c054d
shl r12, 0x22
mov ecx, 1
mov rsi, r12
nop dword [rax]
lea rbx, [rcx + 1]
add ecx, dword [rdi]
mov rax, rsi
sar rax, 0x20
add rax, r13
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x138]
mov dword [rsp + 0x20], eax
mov edx, ebp
mov r8, qword [rsp + 0x30]
mov r9b, 1
call r15
add rsi, r12
mov rcx, rbx
cmp qword [rsp + 0x40], rbx
jne 0x1400c04b0
jmp 0x1400c054d
lea rax, [r10 + rbp*8]
add rax, 0xfffffffffffffff0
mov cl, byte [rax + 0xc]
call fcn.1400c01b0
add eax, 0xffffec00
cmp eax, 0xf
ja 0x1400c08af
mov ecx, 0x3f
bt ecx, eax
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
jae 0x1400c05a7
mov qword [rsp + 0x38], r15
add rcx, qword [rsp + 0x130]
mov qword [rsp + 0x20], rcx
mov ecx, esi
mov r8d, ebx
mov rax, qword [rsp + 0x50]
call qword [rax + 0x6170]
cmp dword [rsp + 0x48], 0
mov r12d, dword [rsp + 0x148]
mov ebp, dword [rsp + 0x140]
mov r15, qword [rsp + 0x38]
jle 0x1400c0710
xor esi, esi
jmp 0x1400c058b
add esi, dword [rdi]
mov ecx, esi
mov rax, qword [rsp + 0x50]
call qword [rax + 0x1290]
mov esi, ebx
cmp dword [rsp + 0x48], ebx
je 0x1400c0710
lea ebx, [rsi + 1]
cmp ebp, 1
jne 0x1400c0570
mov ecx, dword [rdi]
add ecx, esi
mov edx, r12d
mov rax, qword [rsp + 0x50]
call qword [rax + 0x6000]
jmp 0x1400c0570
mov ecx, 0xc400
bt ecx, eax
jae 0x1400c0656
cmp dword [rsp + 0x48], 0
jle 0x1400c0710
mov qword [rsp + 0x38], r15
mov r13, qword [rsp + 0x30]
add r13, qword [rsp + 0x130]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x6340]
mov qword [rsp + 0x20], r13
mov ecx, esi
mov r15, qword [rsp + 0x60]
mov edx, r15d
mov r8d, ebx
mov rbp, qword [rsp + 0x138]
mov qword [rsp + 0x30], rbx
mov r9d, ebp
mov qword [rsp + 0x58], rax
call rax
cmp qword [rsp + 0x40], 1
je 0x1400c054d
shl r12, 0x23
mov ecx, 1
mov rsi, r12
nop
lea rbx, [rcx + 1]
add ecx, dword [rdi]
mov rax, rsi
sar rax, 0x20
add rax, r13
mov qword [rsp + 0x20], rax
mov edx, r15d
mov r8, qword [rsp + 0x30]
mov r9d, ebp
call qword [rsp + 0x58]
add rsi, r12
mov rcx, rbx
cmp qword [rsp + 0x40], rbx
jne 0x1400c0620
jmp 0x1400c054d
cmp eax, 6
jne 0x1400c08af
cmp dword [rsp + 0x48], 0
jle 0x1400c0710
mov qword [rsp + 0x38], r15
mov r13, qword [rsp + 0x30]
add r13, qword [rsp + 0x130]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x63d0]
mov qword [rsp + 0x28], r13
mov rbp, qword [rsp + 0x138]
mov dword [rsp + 0x20], ebp
mov ecx, esi
mov r15, qword [rsp + 0x60]
mov edx, r15d
mov r8d, ebx
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov rbp, rax
call rax
cmp qword [rsp + 0x40], 1
je 0x1400c054d
shl r12, 0x22
mov ecx, 1
mov rsi, r12
nop dword [rax + rax]
lea rbx, [rcx + 1]
add ecx, dword [rdi]
mov rax, rsi
sar rax, 0x20
add rax, r13
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x138]
mov dword [rsp + 0x20], eax
mov edx, r15d
mov r8, qword [rsp + 0x30]
xor r9d, r9d
call rbp
add rsi, r12
mov rcx, rbx
cmp qword [rsp + 0x40], rbx
jne 0x1400c06d0
jmp 0x1400c054d
add r15, 0x30
cmp r15, qword [rsp + 0x80]
je 0x1400c0882
mov r13, qword [r15 + 0x20]
mov cl, byte [r15 + 0x28]
mov r12b, byte [r15 + 0x29]
call fcn.1400c01b0
mov r9, rax
mov qword [rsp + 0x48], rdx
lea rax, [r15 + 0x10]
lea rdx, [r15 + 0x18]
cmp dword [r15], 1
mov rsi, qword [r15 + 8]
cmove rax, rdx
mov r8, qword [rax]
movabs rdx, 0xaf64724c8602eb6e
test r8, r8
je 0x1400c0832
lea rdx, [r8 - 1]
mov eax, r8d
and eax, 7
movabs rbp, 0xcbf29ce484222325
mov rdi, rsi
cmp rdx, 7
jb 0x1400c0801
mov rdx, r8
and rdx, 0xfffffffffffffff8
neg rdx
movabs rbp, 0xcbf29ce484222325
mov rdi, rsi
nop dword [rax]
movzx ebx, byte [rdi]
xor rbx, rbp
imul rbx, r14
movzx ebp, byte [rdi + 1]
xor rbp, rbx
imul rbp, r14
movzx ebx, byte [rdi + 2]
xor rbx, rbp
imul rbx, r14
movzx ebp, byte [rdi + 3]
xor rbp, rbx
imul rbp, r14
movzx ebx, byte [rdi + 4]
xor rbx, rbp
imul rbx, r14
movzx ebp, byte [rdi + 5]
xor rbp, rbx
imul rbp, r14
movzx ebx, byte [rdi + 6]
xor rbx, rbp
imul rbx, r14
movzx ebp, byte [rdi + 7]
add rdi, 8
xor rbp, rbx
imul rbp, r14
add rdx, 8
jne 0x1400c07a0
mov rdx, rbp
test rax, rax
je 0x1400c0827
xor ebx, ebx
nop dword [rax + rax]
movzx edx, byte [rdi + rbx]
xor rdx, rbp
imul rdx, r14
add rbx, 1
mov rbp, rdx
cmp rax, rbx
jne 0x1400c0810
xor rdx, 0xff
imul rdx, r14
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x88]
mov rbx, qword [rax + 0x148]
mov r10, qword [rax + 0x150]
mov rbp, rbx
and rbp, rdx
shr rdx, 0x39
movdqu xmm6, xmmword [r10 + rbp]
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
movdqa xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb eax, xmm0
xor edx, edx
jmp 0x1400c02e0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.internal_error:_entered_unreachable_codeC:UsersAdministrator.cargo_registry_srcgithub.com_1ecc6299db9ec823glium_0.29.0_src_buffer_alloc.rs
lea r8, [0x1401c2b38]
jmp 0x1400c08cd
lea rcx, str.internal_error:_entered_unreachable_codeC:UsersAdministrator.cargo_registry_srcgithub.com_1ecc6299db9ec823glium_0.29.0_src_buffer_alloc.rs
lea r8, [0x1401c2b20]
mov edx, 0x28
call fcn.14019e390
ud2