Function at 0x618bd0
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, 0xe8
mov r15, r9
mov rsi, r8
mov rbx, rcx
mov ecx, esi
and ecx, 0x7c
xor r8d, r8d
lea rax, [0x007b6a30]
nop dword [rax + rax]
movzx r9d, byte [rdx + r8]
movzx r9d, byte [r9 + rax]
mov byte [rsp + r8 + 0xa8], r9b
movzx r9d, byte [rdx + r8 + 1]
movzx r9d, byte [r9 + rax]
mov byte [rsp + r8 + 0xa9], r9b
movzx r9d, byte [rdx + r8 + 2]
movzx r9d, byte [r9 + rax]
mov byte [rsp + r8 + 0xaa], r9b
movzx r9d, byte [rdx + r8 + 3]
movzx r9d, byte [r9 + rax]
mov byte [rsp + r8 + 0xab], r9b
add r8, 4
cmp rcx, r8
jne 0x618c00
mov rcx, rsi
and rcx, 3
je 0x618c7a
nop dword [rax]
movzx r9d, byte [rdx + r8]
movzx r9d, byte [r9 + rax]
mov byte [rsp + r8 + 0xa8], r9b
inc r8
dec rcx
jne 0x618c60
lea rdi, [rsp + 0xa8]
mov rcx, rdi
mov rdx, rsi
call sym.http::header::name::StandardHeader::from_bytes::h032348c33f35221e
mov r10d, eax
cmp al, 0x51
jne 0x618cba
cmp rsi, 0xf
ja 0x618d76
xor eax, eax
cmp byte [rsp + rax + 0xa8], 0
je 0x618eb7
inc rax
cmp rsi, rax
jne 0x618ca0
mov dl, 1
jmp 0x618cc0
movzx edi, r10b
mov dl, 2
mov r11, qword [r15 + 0x28]
test r11, r11
je 0x618d6f
cmp dword [r15], 2
mov byte [rsp + 0x2e], dl
jne 0x618dea
mov r13, r11
xor eax, eax
cmp r10b, 0x51
sete al
movdqu xmm0, xmmword [r15 + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x00728530]
movdqa xmmword [rsp + 0x60], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x00728540]
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x80], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov r8d, 8
mov r14d, r10d
call sym._ZN71__LT_std..hash..random..DefaultHasher_u20_as_u20_core..hash..Hasher_GT_5write17h52fec5d01fb3d61fE.12495
mov ebp, r14d
cmp r14b, 0x51
jne 0x618ec3
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, rsi
jmp 0x618edc
xor esi, esi
jmp 0x6192a2
lea rax, [rsp + 0xaf]
and rax, 0xfffffffffffffff8
sub rax, rdi
jne 0x618e66
lea rcx, [rsi - 0x10]
xor eax, eax
movdqa xmm0, xmmword [0x00728520]
movabs rdx, 0x8080808080808080
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax + 0xa8]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r8, xmm2
test r8, rdx
jne 0x618e8f
add rax, 0x10
cmp rax, rcx
jbe 0x618db0
jmp 0x618e8f
xor eax, eax
cmp r10b, 0x51
sete al
movabs r12, 0xcbf29ce484222325
xor r12, rax
movabs rax, 0x1efac7090aef4a21
imul r12, rax
cmp r10b, 0x51
jne 0x618fe0
test rsi, rsi
je 0x619068
movabs rax, 0x100000001b3
mov rcx, rsi
and rcx, 7
je 0x618ff0
xor edx, edx
nop word [rax + rax]
movzx r8d, byte [rdi + rdx]
xor r12, r8
imul r12, rax
inc rdx
cmp rcx, rdx
jne 0x618e40
add rcx, rdi
cmp rsi, 8
jae 0x618ff9
jmp 0x619068
cmp rax, rsi
cmovae rax, rsi
xor ecx, ecx
nop
cmp byte [rsp + rcx + 0xa8], 0
je 0x618eb7
inc rcx
cmp rax, rcx
jne 0x618e70
lea rcx, [rsi - 0x10]
cmp rax, rcx
jbe 0x618d91
mov dl, 1
cmp rax, rsi
je 0x618cc0
nop word [rax + rax]
cmp byte [rsp + rax + 0xa8], 0
je 0x618eb7
inc rax
cmp rsi, rax
jne 0x618ea0
jmp 0x618cc0
mov qword [rbx], 2
jmp 0x6192ad
movzx eax, dil
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov r8d, 8
call sym._ZN71__LT_std..hash..random..DefaultHasher_u20_as_u20_core..hash..Hasher_GT_5write17h52fec5d01fb3d61fE.12495
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0x90]
shl r9, 0x38
or r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x68]
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 r12, rdx
shr r12, 0x20
xor r12, rdx
xor r12, rax
mov r10d, ebp
mov r11, r13
jmp 0x619068
movzx ecx, dil
xor r12, rcx
imul r12, rax
jmp 0x619068
mov rcx, rdi
cmp rsi, 8
jb 0x619068
lea rdx, [rdi + rsi]
nop dword [rax]
movzx r8d, byte [rcx]
xor r8, r12
imul r8, rax
movzx r9d, byte [rcx + 1]
xor r9, r8
imul r9, rax
movzx r8d, byte [rcx + 2]
xor r8, r9
imul r8, rax
movzx r9d, byte [rcx + 3]
xor r9, r8
imul r9, rax
movzx r8d, byte [rcx + 4]
xor r8, r9
imul r8, rax
movzx r9d, byte [rcx + 5]
xor r9, r8
imul r9, rax
movzx r8d, byte [rcx + 6]
xor r8, r9
imul r8, rax
movzx r12d, byte [rcx + 7]
add rcx, 8
xor r12, r8
imul r12, rax
cmp rcx, rdx
jne 0x619000
mov qword [rsp + 0x38], rdi
and r12d, 0x7fff
movzx r14d, word [r15 + 0x58]
mov r13d, r12d
and r13d, r14d
mov rbp, qword [r15 + 0x50]
mov r9, qword [r15 + 0x20]
mov rdi, qword [r15 + 0x48]
test rsi, rsi
je 0x61919c
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x30], rbx
xor esi, esi
xor ebx, ebx
movzx r8d, byte [rsp + 0x2e]
jmp 0x6190b6
inc rbx
inc r13
cmp r13, rbp
cmovae r13, rsi
test rbp, rbp
je 0x619190
movzx r15d, word [rdi + r13*4]
cmp r15, 0xffff
je 0x619192
movzx eax, word [rdi + r13*4 + 2]
mov ecx, eax
and ecx, r14d
mov edx, r13d
sub edx, ecx
and edx, r14d
cmp rbx, rdx
ja 0x619192
cmp ax, r12w
jne 0x6190b0
cmp r11, r15
jbe 0x6192c1
imul rcx, r15, 0x68
lea rax, [r9 + rcx]
add rax, 0x40
cmp qword [r9 + rcx + 0x40], 0
je 0x61916a
cmp r8b, 2
je 0x6190b0
mov rcx, qword [rsp + 0x48]
cmp qword [rax + 0x10], rcx
jne 0x6190b0
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov byte [rsp + 0x2f], r10b
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], r9
call sub.msvcrt.dll_memcmp
mov r9, qword [rsp + 0x50]
movzx r8d, byte [rsp + 0x2e]
mov r11, qword [rsp + 0x58]
movzx r10d, byte [rsp + 0x2f]
test eax, eax
jne 0x6190b0
jmp 0x619182
cmp r10b, 0x51
je 0x6190b0
mov rcx, qword [rsp + 0x38]
cmp byte [rax + 8], cl
jne 0x6190b0
mov esi, 1
jmp 0x619192
jmp 0x619190
mov rbx, qword [rsp + 0x30]
jmp 0x6192a2
xor esi, esi
xor eax, eax
cmp r10b, 0x51
je 0x619236
jmp 0x6191b6
inc rax
inc r13
cmp r13, rbp
cmovae r13, rsi
test rbp, rbp
je 0x619220
movzx r15d, word [rdi + r13*4]
cmp r15, 0xffff
je 0x6192a2
movzx ecx, word [rdi + r13*4 + 2]
mov edx, ecx
and edx, r14d
mov r8d, r13d
sub r8d, edx
and r8d, r14d
cmp rax, r8
ja 0x6192a2
cmp cx, r12w
jne 0x6191b0
cmp r11, r15
jbe 0x6192c1
imul rcx, r15, 0x68
cmp qword [r9 + rcx + 0x40], 0
jne 0x6191b0
add rcx, r9
add rcx, 0x40
mov rdx, qword [rsp + 0x38]
cmp byte [rcx + 8], dl
jne 0x6191b0
jmp 0x61928e
jmp 0x619220
inc rax
inc r13
cmp r13, rbp
cmovae r13, rsi
test rbp, rbp
je 0x6192a0
movzx r15d, word [rdi + r13*4]
cmp r15, 0xffff
je 0x6192a2
movzx ecx, word [rdi + r13*4 + 2]
mov edx, ecx
and edx, r14d
mov r8d, r13d
sub r8d, edx
and r8d, r14d
cmp rax, r8
ja 0x6192a2
cmp cx, r12w
jne 0x619230
cmp r11, r15
jbe 0x6192c1
imul rcx, r15, 0x68
cmp qword [r9 + rcx + 0x40], 0
je 0x619230
add rcx, r9
add rcx, 0x40
cmp qword [rcx + 0x10], 0
jne 0x619230
mov esi, 1
jmp 0x6192a2
jmp 0x6192a0
mov qword [rbx], rsi
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r15
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r11
lea r8, [0x007b6a18]
mov rcx, r15
call sym.core::panicking::panic_bounds_check::ha5eba36dbaff2278
int3