Function at 0x140069ad1
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
mov qword [rsp + 0x28], rdx
mov rsi, rcx
lea rax, [rcx + 0x18]
mov rdi, qword [rcx + 0x28]
cmp dword [rcx], 1
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x68], rax
jne 0x140069b14
test rdi, rdi
js 0x140069b47
cvtsi2ss xmm0, rdi
jmp 0x140069b5e
mov rbx, qword [rsi + 0x50]
mov rax, rbx
shr rax, 2
mov rcx, rbx
sub rcx, rax
cmp rdi, rcx
jne 0x140069d05
test rdi, rdi
je 0x14006a350
add rbx, rbx
mov rcx, qword [rsp + 0x20]
mov rdx, rbx
jmp 0x140069d00
mov rax, rdi
shr rax, 1
mov ecx, edi
and ecx, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mov r15, qword [rsi + 0x50]
test r15, r15
js 0x140069b6e
cvtsi2ss xmm1, r15
jmp 0x140069b86
mov rax, r15
shr rax, 1
mov ecx, r15d
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x14010a9a0]
jae 0x140069cf0
mov eax, dword [0x14014d2d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x130], 0
jne 0x140069bb8
call fcn.14005fa16
mov eax, dword [0x14014d2d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x138]
mov rdx, qword [rax + 0x140]
lea r8, [rcx + 1]
mov qword [rax + 0x138], r8
mov qword [rsi], 2
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
mov rsi, qword [rsi + 0x48]
test r15, r15
je 0x140069c12
lea rax, [rsi + r15*4]
mov rcx, rsi
mov dword [rcx], 0xffff
add rcx, 4
cmp rcx, rax
jne 0x140069c03
test rdi, rdi
je 0x140069d05
mov rax, qword [rsp + 0x20]
mov rbx, qword [rax + 0x20]
lea rdi, [rdi + rdi*2]
shl rdi, 5
add rdi, rbx
movzx eax, word [rax + 0x58]
movzx r14d, ax
xor r12d, r12d
mov rbp, rbx
mov r13, r12
add rbx, 0x60
inc r12
lea rdx, [rbp + 0x38]
mov rcx, qword [rsp + 0x20]
call fcn.14004471d
mov ecx, r14d
and ecx, eax
movzx r8d, cx
mov word [rbp + 0x58], ax
xor edx, edx
mov rcx, r8
mov r8d, 0
cmp rcx, r15
jae 0x140069c64
cmp word [rsi + rcx*4], 0xffff
je 0x140069cd8
movzx r8d, word [rsi + rcx*4 + 2]
and r8d, r14d
mov r9d, ecx
sub r9d, r8d
mov r8d, r14d
and r8d, r9d
cmp r8, rdx
jb 0x140069cba
inc rdx
inc rcx
mov r8, rcx
jmp 0x140069c64
movzx r8d, word [rsi + rdx*4 + 2]
mov word [rsi + rdx*4], r13w
mov word [rsi + rdx*4 + 2], ax
inc rdx
mov eax, r8d
mov r13d, ecx
mov rcx, rdx
mov rdx, rcx
mov ecx, 0
cmp rdx, r15
jae 0x140069cba
movzx ecx, word [rsi + rdx*4]
cmp cx, 0xffff
jne 0x140069c9e
mov word [rsi + rdx*4], r13w
jmp 0x140069ce0
mov word [rsi + rcx*4], r13w
mov rdx, rcx
mov word [rsi + rdx*4 + 2], ax
cmp rbx, rdi
jne 0x140069c3a
jmp 0x140069d05
mov qword [rsi], 0
add r15, r15
mov rcx, rsi
mov rdx, r15
call fcn.140069218
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsi]
cmp rbx, 2
mov qword [rsp + 0xb8], rbx
jne 0x140069dca
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
movabs r8, 0x736f6d6570736575
xor r8, rax
movabs r9, 0x646f72616e646f6d
xor r9, rdx
movabs r10, 0x6c7967656e657261
xor r10, rax
movabs r11, 0x7465646279746573
xor r11, rdx
lea rcx, [rsp + 0x70]
mov qword [rcx], r8
mov qword [rcx + 8], r10
mov qword [rcx + 0x10], r9
mov qword [rcx + 0x18], r11
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rdx
xorps xmm0, xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], 0
mov rdi, qword [rsp + 0x28]
mov r15, qword [rdi]
xor eax, eax
test r15, r15
setne al
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov r8d, 8
call fcn.140044981
mov r14, r15
test r15, r15
je 0x140069e3f
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x70]
mov r15, rdx
jmp 0x140069e59
mov r8, qword [rsp + 0x28]
mov r10, qword [r8]
xor eax, eax
test r10, r10
setne al
mov qword [rsp + 0x70], rax
movabs rdi, 0xcbf29ce484222325
xor ecx, ecx
movabs rax, 0x100000001b3
movzx edx, byte [rsp + rcx + 0x70]
inc rcx
xor rdi, rdx
imul rdi, rax
cmp rcx, 8
jne 0x140069df5
test r10, r10
je 0x140069f60
mov r9, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
test rcx, rcx
je 0x140069f84
xor edx, edx
movzx r8d, byte [r9 + rdx]
xor rdi, r8
imul rdi, rax
inc rdx
cmp rcx, rdx
jne 0x140069e26
jmp 0x140069f84
movzx eax, byte [rdi + 8]
lea rdx, [rsp + 0x40]
mov r15, rax
mov qword [rdx], rax
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.140044981
mov rax, qword [rsp + 0x80]
mov r9, qword [rsp + 0xa0]
shl r9, 0x38
or r9, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x70]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x78]
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 rdi, rdx
shr rdi, 0x20
xor rdi, rdx
xor rdi, rax
mov r10, r14
mov r9, r15
jmp 0x140069f84
movzx r9d, byte [r8 + 8]
mov qword [rsp + 0x70], r9
xor ecx, ecx
movzx edx, byte [rsp + rcx + 0x70]
inc rcx
xor rdi, rdx
imul rdi, rax
cmp rcx, 8
jne 0x140069f6c
xor r10d, r10d
and edi, 0x7fff
movzx r15d, word [rsi + 0x58]
mov r13d, edi
and r13d, r15d
mov rbp, qword [rsi + 0x50]
mov r14, qword [rsi + 0x48]
mov r11, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
xor esi, esi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0xc0], r11
mov rax, r13
mov r13, rax
mov eax, 0
cmp r13, rbp
jae 0x140069fbf
movzx ebx, word [r14 + r13*4]
cmp rbx, 0xffff
je 0x14006a09d
movzx eax, word [r14 + r13*4 + 2]
mov ecx, r15d
and ecx, eax
mov r8d, r13d
sub r8d, ecx
and r8d, r15d
cmp r8, rsi
jb 0x14006a0c8
cmp ax, di
jne 0x14006a092
cmp rdx, rbx
jbe 0x14006a520
test r10, r10
sete al
lea r12, [rbx + rbx*2]
shl r12, 5
mov rcx, qword [r11 + r12 + 0x38]
test rcx, rcx
setne r8b
cmp r8b, al
je 0x14006a092
lea rax, [r11 + r12]
add rax, 0x38
test rcx, rcx
je 0x14006a088
mov r8, qword [rax + 0x10]
mov rcx, qword [rsp + 0x28]
cmp r8, qword [rcx + 0x10]
jne 0x14006a092
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rcx + 8]
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rax + 8]
call sub.VCRUNTIME140.dll_memcmp
mov r11, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xc8]
test eax, eax
jne 0x14006a092
jmp 0x14006a411
cmp byte [rax + 8], r9b
je 0x14006a411
inc rsi
inc r13
jmp 0x140069fbc
test r10, r10
je 0x14006a110
mov rax, qword [rsp + 0x28]
lea rdx, [rax + 0x18]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rcx, [rsp + 0x70]
mov rsi, r11
call qword [r10]
mov r11, rsi
mov rdx, qword [rsp + 0x30]
jmp 0x14006a11e
cmp rsi, 0x200
setae bl
cmp dword [rsp + 0xb8], 2
setne sil
test r10, r10
je 0x14006a1fc
mov rax, qword [rsp + 0x28]
lea rdx, [rax + 0x18]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rcx, [rsp + 0x70]
mov r15, r11
call qword [r10]
mov r11, r15
mov rdx, qword [rsp + 0x30]
jmp 0x14006a20a
mov byte [rsp + 0x78], r9b
mov qword [rsp + 0x70], 0
mov rsi, qword [rsp + 0x20]
mov rax, qword [rsp + 0x70]
mov cl, byte [rsp + 0x78]
mov r10d, dword [rsp + 0x79]
movzx r8d, word [rsp + 0x7d]
mov r9b, byte [rsp + 0x7f]
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], cl
mov dword [rsp + 0x49], r10d
mov word [rsp + 0x4d], r8w
mov byte [rsp + 0x4f], r9b
cmp rdx, 0x8000
jae 0x14006a550
mov rax, rdx
mov rcx, qword [rsp + 0x68]
cmp rdx, qword [rcx]
jne 0x14006a192
call fcn.14006a578
mov rdx, qword [rsp + 0x30]
mov r11, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov rbp, qword [rsi + 0x50]
lea rcx, [rax + rax*2]
shl rcx, 5
mov qword [r11 + rcx], 0
mov r8, qword [rsp + 0x38]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r11 + rcx + 0x18], xmm0
movups xmmword [r11 + rcx + 0x28], xmm1
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [r11 + rcx + 0x38], xmm0
movups xmmword [r11 + rcx + 0x48], xmm1
mov word [r11 + rcx + 0x58], di
inc rax
mov qword [rsi + 0x28], rax
cmp r13, rbp
jae 0x14006a52f
mov rax, qword [rsi + 0x48]
mov word [rax + r13*4], dx
mov word [rax + r13*4 + 2], di
jmp 0x14006a33c
mov byte [rsp + 0x78], r9b
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x70]
mov cl, byte [rsp + 0x78]
mov r10d, dword [rsp + 0x79]
movzx r8d, word [rsp + 0x7d]
mov r9b, byte [rsp + 0x7f]
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], cl
mov dword [rsp + 0x49], r10d
mov word [rsp + 0x4d], r8w
mov byte [rsp + 0x4f], r9b
cmp rdx, 0x8000
jae 0x14006a550
mov rax, rdx
mov rcx, qword [rsp + 0x68]
cmp rdx, qword [rcx]
jne 0x14006a282
call fcn.14006a578
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
mov r11, qword [rcx + 0x20]
mov rax, qword [rcx + 0x28]
mov r14, qword [rcx + 0x48]
mov rbp, qword [rcx + 0x50]
and bl, sil
lea rcx, [rax + rax*2]
shl rcx, 5
mov qword [r11 + rcx], 0
mov r8, qword [rsp + 0x38]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r11 + rcx + 0x18], xmm0
movups xmmword [r11 + rcx + 0x28], xmm1
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [r11 + rcx + 0x38], xmm0
movups xmmword [r11 + rcx + 0x48], xmm1
mov word [r11 + rcx + 0x58], di
inc rax
mov r9, qword [rsp + 0x20]
mov qword [r9 + 0x28], rax
xor eax, eax
mov rcx, r13
mov r13d, 0
cmp rcx, rbp
jae 0x14006a2d9
movzx r10d, word [r14 + rcx*4]
cmp r10w, 0xffff
je 0x14006a315
inc rax
movzx r8d, word [r14 + rcx*4 + 2]
mov word [r14 + rcx*4], dx
mov word [r14 + rcx*4 + 2], di
inc rcx
mov edi, r8d
mov edx, r10d
mov r13, rcx
jmp 0x14006a2d9
mov word [r14 + rcx*4], dx
mov word [r14 + rcx*4 + 2], di
cmp rax, 0x80
setb al
not bl
test bl, al
jne 0x14006a33c
cmp qword [r9], 0
jne 0x14006a33c
mov qword [r9], 1
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0x20]
mov word [r14 + 0x58], 7
mov ecx, 8
call fcn.140060561
lea r15, [rsp + 0x70]
mov qword [r15], rax
mov qword [r15 + 8], rdx
mov qword [r15 + 0x10], 0
mov edx, 8
mov rcx, r15
call case.0x140018526.939
mov rax, qword [r15 + 0x10]
lea r12, [rsp + 0x40]
mov qword [r12 + 0x10], rax
movups xmm0, xmmword [r15]
movaps xmmword [r12], xmm0
mov rcx, r12
call case.0x140018a32.911
mov rsi, qword [r12 + 8]
mov rdi, qword [r12 + 0x10]
test rbx, rbx
je 0x14006a3c8
mov r8, qword [r14 + 0x48]
mov rcx, qword [0x14014d1f0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [r14 + 0x48], rsi
mov qword [r14 + 0x50], rdi
mov al, byte [0x14014d2a0]
mov edx, 0x240
xor ecx, ecx
call fcn.1400abc70
test rax, rax
je 0x14006a568
mov rbx, rax
mov rcx, qword [rsp + 0x68]
call fcn.140068f52
mov qword [r14 + 0x18], 6
mov qword [r14 + 0x20], rbx
mov qword [r14 + 0x28], 0
jmp 0x140069d05
lea rsi, [r11 + r12]
mov rdi, qword [rsp + 0x20]
lea rcx, [rdi + 0x30]
cmp qword [r11 + r12], 0
je 0x14006a4b3
mov r14, qword [rsi + 0x10]
mov r15, qword [rdi + 0x40]
mov rdx, r15
cmp r15, qword [rdi + 0x30]
jne 0x14006a446
mov rdx, r15
call fcn.140012fb6
mov rdx, qword [rdi + 0x40]
mov rax, qword [rdi + 0x38]
mov rcx, rdx
shl rcx, 6
mov qword [rax + rcx], 1
mov qword [rax + rcx + 8], r14
mov qword [rax + rcx + 0x10], 0
mov qword [rax + rcx + 0x18], rbx
mov r8, qword [rsp + 0x38]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rax + rcx + 0x20], xmm0
movups xmmword [rax + rcx + 0x30], xmm1
inc rdx
mov qword [rdi + 0x40], rdx
cmp rdx, r14
jbe 0x14006a541
shl r14, 6
mov ecx, 1
mov qword [rax + r14 + 0x10], rcx
mov qword [rax + r14 + 0x18], r15
mov qword [rsi], rcx
mov qword [rsi + 0x10], r15
jmp 0x14006a33c
mov r14, qword [rdi + 0x40]
mov rax, r14
cmp r14, qword [rdi + 0x30]
jne 0x14006a4cc
mov rdx, r14
call fcn.140012fb6
mov rax, qword [rdi + 0x40]
mov rcx, qword [rdi + 0x38]
mov rdx, rax
shl rdx, 6
xor r8d, r8d
mov qword [rcx + rdx], r8
mov qword [rcx + rdx + 8], rbx
mov qword [rcx + rdx + 0x10], r8
mov qword [rcx + rdx + 0x18], rbx
mov r8, qword [rsp + 0x38]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rcx + rdx + 0x20], xmm0
movups xmmword [rcx + rdx + 0x30], xmm1
inc rax
mov qword [rdi + 0x40], rax
mov qword [rsi], 1
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r14
jmp 0x14006a33c
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.9_srcheadermap.rs
mov rcx, rbx
call fcn.140101480
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.9_srcheadermap.rs
mov rcx, r13
mov rdx, rbp
call fcn.140101480
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.9_srcheadermap.rs
mov rcx, r14
call fcn.140101480
lea rcx, [0x1401395b1]
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.9_srcheadermap.rs
mov edx, 0x16
call fcn.1401028fc
mov ecx, 8
mov edx, 0x240
call fcn.140100fe0
int3