Function at 0x140032bc0
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, 0xd8
test r8, r8
je 0x140033191
mov r14, r8
mov rdi, rdx
mov rbp, rcx
cmp r8, 0x40
ja 0x140032c03
lea rcx, [r14 - 1]
mov eax, r14d
and eax, 3
cmp rcx, 3
jae 0x140032c43
xor r9d, r9d
jmp 0x140032cb7
xor eax, eax
cmp r14, 0x10000
setb cl
setae r8b
jae 0x140033191
xor edx, edx
mov al, r8b
lea r13d, [rax + rax*2]
movabs r15, 0x89cd31291d2aefa4
mov eax, 1
mov r11, qword [rbp + 0x20]
test r11, r11
jne 0x140032d9e
jmp 0x140033191
mov rcx, r14
and rcx, 0xfffffffffffffffc
xor r8d, r8d
lea rdx, [0x140142c18]
nop word cs:[rax + rax]
movzx r9d, byte [rdi + r8]
movzx r9d, byte [r9 + rdx]
mov byte [rsp + r8 + 0x98], r9b
movzx r9d, byte [rdi + r8 + 1]
movzx r9d, byte [r9 + rdx]
mov byte [rsp + r8 + 0x99], r9b
movzx r9d, byte [rdi + r8 + 2]
movzx r9d, byte [r9 + rdx]
mov byte [rsp + r8 + 0x9a], r9b
lea r9, [r8 + 4]
movzx r10d, byte [rdi + r8 + 3]
movzx r10d, byte [r10 + rdx]
mov byte [rsp + r8 + 0x9b], r10b
mov r8, r9
cmp rcx, r9
jne 0x140032c60
test rax, rax
je 0x140032cf6
lea rcx, [rsp + r9]
add rcx, 0x98
add rdi, r9
xor edx, edx
lea r8, [0x140142c18]
nop word cs:[rax + rax]
movzx r9d, byte [rdi + rdx]
movzx r9d, byte [r9 + r8]
mov byte [rcx + rdx], r9b
inc rdx
cmp rax, rdx
jne 0x140032ce0
lea rdi, [rsp + 0x98]
mov rcx, rdi
mov rdx, r14
call fcn.14003c150
cmp al, 0x4f
jne 0x140032d38
cmp r14, 0xf
ja 0x140032d5c
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rsp + rax + 0x98], 0
je 0x140033191
inc rax
cmp r14, rax
jne 0x140032d20
jmp 0x140032d7b
movzx edi, al
movabs r15, 0xa8c7f832281a39c5
mov dl, 1
mov r13b, 2
xor eax, eax
xor ecx, ecx
mov r11, qword [rbp + 0x20]
test r11, r11
jne 0x140032d9e
jmp 0x140033191
lea rdi, [rsp + 0x98]
xor ecx, ecx
mov rdx, rdi
mov r8, r14
call fcn.1400201e0
cmp rax, 1
je 0x140033191
movabs r15, 0x89cd31291d2aefa4
mov eax, 1
mov r13b, 1
xor ecx, ecx
xor edx, edx
mov r11, qword [rbp + 0x20]
test r11, r11
je 0x140033191
cmp dword [rbp + 0x40], 2
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x40], r11
jne 0x140032e4b
movdqu xmm0, xmmword [rbp + 0x48]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmmword [rsp + 0x50], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140115630]
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x70], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x30]
mov r8d, 8
call fcn.14000dcf0
mov eax, r13d
test al, al
je 0x140032ecf
movzx eax, al
cmp eax, 2
jne 0x140032f17
movzx eax, dil
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x30]
mov r8d, 8
jmp 0x140032f22
test dl, dl
je 0x140032e6c
movzx eax, dil
xor rax, r15
movabs r15, 0x1efac7090aef4a21
imul r15, rax
mov r10b, 2
jmp 0x140033023
lea rax, [rdi + r14]
test cl, cl
je 0x1400331a7
test r14, r14
je 0x1400331f2
lea rdx, [r14 - 1]
mov r8, r14
mov rbx, r11
and r8, 3
je 0x14003320a
lea r9, [0x140142c18]
movabs r10, 0x100000001b3
mov rcx, rdi
mov r11, r15
nop dword [rax]
movzx esi, byte [rcx]
movzx r15d, byte [rsi + r9]
xor r15, r11
imul r15, r10
inc rcx
mov r11, r15
dec r8
jne 0x140032eb0
jmp 0x14003320d
test r14, r14
je 0x140032f27
xor esi, esi
lea rbx, [0x140142c18]
lea r15, [rsp + 0x50]
lea r12, [rsp + 0x30]
nop word [rax + rax]
movzx eax, byte [rdi + rsi]
movzx eax, byte [rax + rbx]
mov byte [rsp + 0x30], al
mov r8d, 1
mov rcx, r15
mov rdx, r12
call fcn.14000dcf0
inc rsi
cmp r14, rsi
jne 0x140032ef0
jmp 0x140032f27
lea rcx, [rsp + 0x50]
mov rdx, rdi
mov r8, r14
call fcn.14000dcf0
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x80]
shl r9, 0x38
or r9, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x58]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
add rdx, rcx
shl rcx, 0x10
xor rcx, rdx
shr rcx, 0x2b
add rdx, rax
shr rax, 0x2f
xor rax, rcx
mov r15, rdx
shr r15, 0x20
xor r15, rdx
xor r15, rax
mov r11, qword [rsp + 0x40]
mov r10d, r13d
and r15d, 0x7fff
movzx r12d, word [rbp + 0x58]
mov r13d, r15d
and r13d, r12d
mov r14, qword [rbp]
mov rbx, qword [rbp + 8]
mov rbp, qword [rbp + 0x18]
mov rax, qword [rsp + 0x28]
neg rax
mov qword [rsp + 0x48], rax
xor esi, esi
jmp 0x140033066
inc rsi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, rbx
jae 0x140033070
movzx ecx, word [r14 + r13*4]
cmp rcx, 0xffff
je 0x140033191
movzx eax, word [r14 + r13*4 + 2]
mov edx, eax
and edx, r12d
mov r8d, r13d
sub r8d, edx
and r8d, r12d
cmp rsi, r8
ja 0x140033191
cmp ax, r15w
jne 0x140033060
cmp r11, rcx
jbe 0x14003331d
imul rcx, rcx, 0x68
lea rax, [rcx + rbp]
cmp qword [rbp + rcx + 0x18], 0
je 0x140033111
cmp r10b, 2
je 0x140033060
test r10b, r10b
je 0x140033129
mov rcx, qword [rsp + 0x28]
cmp qword [rax + 8], rcx
jne 0x140033060
mov rcx, qword [rax]
mov rdx, rdi
mov r8, qword [rsp + 0x28]
mov dword [rsp + 0x3c], r10d
call sub.VCRUNTIME140.dll_memcmp
mov r10d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x40]
test eax, eax
jne 0x140033060
jmp 0x1400331eb
cmp r10b, 2
jne 0x140033060
cmp byte [rax], dil
jne 0x140033060
jmp 0x1400331eb
mov rcx, qword [rsp + 0x28]
cmp qword [rax + 8], rcx
jne 0x140033060
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x48]
lea r8, [rax + rdx]
mov eax, 1
cmp r8, 0xffffffffffffffff
je 0x140033193
movzx r8d, byte [rdi + rdx + 1]
lea r9, [0x140142c18]
movzx r9d, byte [r8 + r9]
lea r8, [rdx + 1]
cmp r9b, byte [rcx + rdx + 1]
mov rdx, r8
je 0x140033150
cmp r8, qword [rsp + 0x28]
jb 0x140033060
jmp 0x140033193
xor eax, eax
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r10b, 1
test r14, r14
je 0x1400331fe
lea r8, [r14 - 1]
mov r9, r14
movabs rcx, 0x100000001b3
and r9, 7
je 0x140033294
mov r10, r15
mov rdx, rdi
movzx r15d, byte [rdx]
inc rdx
xor r15, r10
imul r15, rcx
mov r10, r15
dec r9
jne 0x1400331d0
jmp 0x140033297
mov eax, 1
jmp 0x140033193
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x14003328c
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x140033023
mov rcx, rdi
cmp rdx, 3
jae 0x14003321e
xor r10d, r10d
mov r11, rbx
jmp 0x140033023
lea rdx, [0x140142c18]
movabs r8, 0x100000001b3
mov r11, rbx
nop word cs:[rax + rax]
movzx r9d, byte [rcx]
movzx r9d, byte [r9 + rdx]
xor r9, r15
imul r9, r8
movzx r10d, byte [rcx + 1]
movzx r10d, byte [r10 + rdx]
xor r10, r9
imul r10, r8
movzx r9d, byte [rcx + 2]
movzx r9d, byte [r9 + rdx]
xor r9, r10
imul r9, r8
movzx r10d, byte [rcx + 3]
movzx r15d, byte [r10 + rdx]
xor r15, r9
imul r15, r8
add rcx, 4
cmp rcx, rax
jne 0x140033240
xor r10d, r10d
jmp 0x140033023
mov rdx, rdi
cmp r8, 7
mov r10b, 1
jb 0x140033023
nop word cs:[rax + rax]
movzx r8d, byte [rdx]
xor r8, r15
imul r8, rcx
movzx r9d, byte [rdx + 1]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 2]
xor r8, r9
imul r8, rcx
movzx r9d, byte [rdx + 3]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 4]
xor r8, r9
imul r8, rcx
movzx r9d, byte [rdx + 5]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 6]
xor r8, r9
imul r8, rcx
movzx r15d, byte [rdx + 7]
add rdx, 8
xor r15, r8
imul r15, rcx
cmp rdx, rax
jne 0x1400332b0
jmp 0x140033023
lea r8, str.C:Usersmixer.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.8_srcheadermap.rs__
mov rdx, r11
call fcn.14010b480
ud2