Function at 0x140017930
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, 0x88
mov rdi, rdx
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400179f0
cmp dword [rcx], 2
mov qword [rsp + 0x20], rdi
jne 0x140017a03
mov rbx, rcx
movdqu xmm0, xmmword [rcx + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdet_home_kobyyy_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.12_src_header_map.rs]
movdqa xmmword [rsp + 0x40], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140457220]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmmword [rsp + 0x60], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
mov rsi, qword [rdi]
xor eax, eax
test rsi, rsi
setne al
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
mov r8d, 8
call fcn.140017f40
test rsi, rsi
je 0x140017a85
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
jmp 0x140017a9e
xor ebx, ebx
mov rax, qword [rdi]
test rax, rax
jne 0x140017d29
jmp 0x140017d38
mov rdx, qword [rdi]
xor eax, eax
test rdx, rdx
setne al
movabs r14, 0xcbf29ce484222325
xor r14, rax
movabs rax, 0x1efac7090aef4a21
imul r14, rax
test rdx, rdx
je 0x140017b99
mov r9, qword [rdi + 0x10]
test r9, r9
je 0x140017c28
mov rax, qword [rdi + 8]
movabs rdx, 0x100000001b3
mov r10, r9
and r10, 7
je 0x140017ba9
mov r11, r14
mov r8, rax
movzx r14d, byte [r8]
inc r8
xor r14, r11
imul r14, rdx
mov r11, r14
dec r10
jne 0x140017a60
cmp r9, 8
jae 0x140017bb2
jmp 0x140017c28
movzx eax, byte [rdi + 8]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
mov r8d, 8
call fcn.140017f40
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x70]
shl r9, 0x38
or r9, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x48]
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 r14, rdx
shr r14, 0x20
xor r14, rdx
xor r14, rax
mov rcx, rbx
jmp 0x140017c28
movzx edx, byte [rdi + 8]
xor r14, rdx
imul r14, rax
jmp 0x140017c28
mov r8, rax
cmp r9, 8
jb 0x140017c28
add rax, r9
nop word cs:[rax + rax]
movzx r9d, byte [r8]
xor r9, r14
imul r9, rdx
movzx r10d, byte [r8 + 1]
xor r10, r9
imul r10, rdx
movzx r9d, byte [r8 + 2]
xor r9, r10
imul r9, rdx
movzx r10d, byte [r8 + 3]
xor r10, r9
imul r10, rdx
movzx r9d, byte [r8 + 4]
xor r9, r10
imul r9, rdx
movzx r10d, byte [r8 + 5]
xor r10, r9
imul r10, rdx
movzx r9d, byte [r8 + 6]
xor r9, r10
imul r9, rdx
movzx r14d, byte [r8 + 7]
add r8, 8
xor r14, r9
imul r14, rdx
cmp r8, rax
jne 0x140017bc0
and r14d, 0x7fff
movzx r15d, word [rcx + 0x58]
mov r12d, r14d
and r12d, r15d
mov rbp, qword [rcx + 0x50]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x28], rax
mov rdi, qword [rcx + 0x48]
xor ebx, ebx
xor esi, esi
jmp 0x140017c76
movzx eax, byte [rcx + 8]
mov rcx, qword [rsp + 0x20]
cmp al, byte [rcx + 8]
je 0x140017d0f
nop word cs:[rax + rax]
inc rsi
inc r12
cmp r12, rbp
cmovae r12, rbx
jb 0x140017c88
test rbp, rbp
je 0x140017d50
movzx ecx, word [rdi + r12*4]
cmp rcx, 0xffff
je 0x140017d1c
movzx eax, word [rdi + r12*4 + 2]
mov edx, eax
and edx, r15d
mov r8d, r12d
sub r8d, edx
and r8d, r15d
cmp rsi, r8
ja 0x140017d1c
cmp ax, r14w
jne 0x140017c70
cmp qword [rsp + 0x38], rcx
jbe 0x140017d52
imul r13, rcx, 0x68
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + r13 + 0x40]
test rax, rax
setne cl
mov rdx, qword [rsp + 0x20]
cmp qword [rdx], 0
sete dl
cmp cl, dl
je 0x140017c70
mov rcx, qword [rsp + 0x28]
add rcx, r13
add rcx, 0x40
test rax, rax
je 0x140017c51
mov rdx, qword [rsp + 0x20]
call fcn.1402f0c20
test al, al
je 0x140017c70
mov rax, qword [rsp + 0x28]
lea rbx, [rax + r13]
add rbx, 0x18
mov rdi, qword [rsp + 0x20]
mov rax, qword [rdi]
test rax, rax
je 0x140017d38
lea rcx, [rdi + 0x18]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call qword [rax + 0x20]
mov rax, rbx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x140017d50
lea r8, str.0rE_
mov rdx, qword [rsp + 0x38]
call fcn.140396850
ud2