Function at 0x1401ed4a0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov r15, r9
mov qword [rsp + 0x98], rcx
lea r14, [0x1402fe6e0]
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0x138]
call fcn.14007b950
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0x37], al
cmp al, 3
je 0x1401ede06
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov eax, dword [rsp + 0x61]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x4b], eax
mov rsi, qword [r15]
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [r15 + 8]
movups xmm1, xmmword [r15 + 0x18]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov rcx, rsi
call fcn.1401e9180
mov r12, qword [rsi]
cmp r12, 2
mov r11, rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0xf8], r12
jne 0x1401ed625
mov rax, qword [r11 + 8]
mov rdi, r11
mov rcx, qword [r11 + 0x10]
movabs rdx, 0x736f6d6570736575
xor rdx, rax
movabs r8, 0x646f72616e646f6d
xor r8, rcx
movabs r9, 0x6c7967656e657261
xor r9, rax
movabs r10, 0x7465646279746573
xor r10, rcx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
xor eax, eax
movzx ebx, byte [rsp + 0x37]
cmp bl, 2
setne al
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xa0]
mov r8d, 8
call fcn.14005dd00
cmp bl, 2
jne 0x1401ed665
movzx eax, byte [rsp + 0x38]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xa0]
mov r8d, 8
call fcn.14005dd00
jmp 0x1401ed729
xor eax, eax
movzx r10d, byte [rsp + 0x37]
cmp r10b, 2
setne al
movabs r15, 0xcbf29ce484222325
xor r15, rax
movabs rax, 0x1efac7090aef4a21
imul r15, rax
cmp r10b, 2
jne 0x1401ed685
movzx ecx, dil
xor r15, rcx
imul r15, rax
jmp 0x1401ed826
mov eax, ebx
test bl, bl
mov rbx, qword [rsp + 0x38]
je 0x1401ed6e5
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8, r13
call fcn.14005dd00
jmp 0x1401ed729
lea rax, [rdi + r13]
test r10b, r10b
je 0x1401edca0
test r13, r13
je 0x1401ed826
movabs rcx, 0x100000001b3
mov r8, r13
and r8, 7
je 0x1401edd51
mov r9, r15
mov rdx, rdi
nop dword [rax + rax]
movzx r15d, byte [rdx]
inc rdx
xor r15, r9
imul r15, rcx
mov r9, r15
dec r8
jne 0x1401ed6c0
cmp r13, 8
jae 0x1401edd60
jmp 0x1401ed826
test r13, r13
je 0x1401ed729
xor esi, esi
lea r15, [rsp + 0x50]
lea r12, [rsp + 0xa0]
nop dword [rax]
movzx eax, byte [rbx + rsi]
movzx eax, byte [rax + r14]
mov byte [rsp + 0xa0], al
mov r8d, 1
mov rcx, r15
mov rdx, r12
call fcn.14005dd00
inc rsi
cmp r13, rsi
jne 0x1401ed700
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, rdi
movzx r10d, byte [rsp + 0x37]
and r15d, 0x7fff
movzx ebx, word [r11 + 0x58]
mov r12d, r15d
and r12d, ebx
mov r14, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov qword [rsp + 0x40], r13
lea rax, [r13 - 1]
mov qword [rsp + 0x100], rax
xor edi, edi
jmp 0x1401ed866
inc rdi
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rsi
jae 0x1401ed870
movzx r13d, word [r14 + r12*4]
cmp r13, 0xffff
je 0x1401eda81
movzx eax, word [r14 + r12*4 + 2]
mov ecx, ebx
and ecx, eax
mov edx, r12d
sub edx, ecx
and edx, ebx
cmp rdx, rdi
jb 0x1401edb23
cmp ax, r15w
jne 0x1401ed860
mov rbp, qword [r11 + 0x38]
cmp rbp, r13
jbe 0x1401eddcd
mov rdx, qword [r11 + 0x28]
imul rcx, r13, 0x68
lea rax, [rdx + rcx]
add rax, 0x40
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x108], rdx
cmp qword [rdx + rcx + 0x40], 0
je 0x1401ed938
cmp r10b, 2
je 0x1401ed860
mov rcx, qword [rax + 0x10]
test r10b, r10b
je 0x1401ed952
cmp rcx, qword [rsp + 0x40]
jne 0x1401ed860
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov qword [rsp + 0xf0], r11
call sub.msvcrt.dll_memcmp
movzx r10d, byte [rsp + 0x37]
mov r11, qword [rsp + 0xf0]
test eax, eax
jne 0x1401ed860
jmp 0x1401ed9c5
cmp r10b, 2
jne 0x1401ed860
mov rcx, qword [rsp + 0x38]
cmp byte [rax + 8], cl
jne 0x1401ed860
jmp 0x1401ed9c5
cmp rcx, qword [rsp + 0x40]
jne 0x1401ed860
cmp qword [rsp + 0x40], 0
je 0x1401ed9c5
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx]
movzx edx, byte [rax]
lea r8, [0x1402fe6e0]
cmp dl, byte [rcx + r8]
jne 0x1401ed860
xor ecx, ecx
nop word [rax + rax]
cmp qword [rsp + 0x100], rcx
je 0x1401ed9c5
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx + rcx + 1]
movzx r8d, byte [rax + rcx + 1]
inc rcx
lea r9, [0x1402fe6e0]
cmp r8b, byte [rdx + r9]
je 0x1401ed990
cmp rcx, qword [rsp + 0x40]
jb 0x1401ed860
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov rdi, qword [rsp + 0x110]
mov rax, qword [rsp + 0x108]
cmp qword [rax + rdi], 0
je 0x1401eda1c
add rax, rdi
mov rdx, qword [rax + 8]
mov rcx, r11
mov rsi, r11
call fcn.14014f3c0
mov rbp, qword [rsi + 0x38]
mov r11, rsi
cmp rbp, r13
jbe 0x1401eddf2
mov rcx, qword [r11 + 0x28]
movups xmm0, xmmword [rcx + rdi + 0x18]
movups xmm1, xmmword [rcx + rdi + 0x28]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
movzx eax, byte [rcx + rdi + 0x38]
mov edx, dword [rcx + rdi + 0x3c]
mov dword [rsp + 0x11b], edx
mov edx, dword [rcx + rdi + 0x39]
mov dword [rsp + 0x118], edx
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov qword [rcx + rdi + 0x38], rdx
movups xmmword [rcx + rdi + 0x18], xmm0
movups xmmword [rcx + rdi + 0x28], xmm1
jmp 0x1401edc56
mov rsi, qword [r11 + 0x38]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x60], r10b
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4b]
mov dword [rsp + 0x61], eax
mov dword [rsp + 0x64], ecx
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x50]
mov rdi, r11
call fcn.14007ed70
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0x50]
mov rcx, rdi
mov edx, r15d
call fcn.1401e9e20
mov rdx, qword [rdi + 0x20]
cmp r12, rdx
jae 0x1401edde1
mov rax, qword [rdi + 0x18]
mov word [rax + r12*4], si
mov word [rax + r12*4 + 2], r15w
jmp 0x1401edc54
cmp rdi, 0x200
setae bl
cmp dword [rsp + 0xf8], 2
setne sil
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x60], r10b
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4b]
mov dword [rsp + 0x61], eax
mov dword [rsp + 0x64], ecx
lea rcx, [rsp + 0x118]
lea rdx, [rsp + 0x50]
mov rdi, r11
call fcn.14007ed70
and bl, sil
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
movzx esi, word [rdi + 0x38]
movups xmm0, xmmword [rsp + 0x118]
movups xmm1, xmmword [rsp + 0x128]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0x50]
mov rcx, rdi
mov edx, r15d
call fcn.1401e9e20
mov rax, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x20]
xor ecx, ecx
nop word [rax + rax]
mov r8, r12
mov r12d, 0
cmp r8, rdx
jae 0x1401edbf0
movzx r9d, word [rax + r8*4]
cmp r9w, 0xffff
je 0x1401edc2c
inc rcx
movzx r10d, word [rax + r8*4 + 2]
mov word [rax + r8*4], si
mov word [rax + r8*4 + 2], r15w
inc r8
mov r15d, r10d
mov esi, r9d
mov r12, r8
jmp 0x1401edbf0
mov word [rax + r8*4], si
mov word [rax + r8*4 + 2], r15w
cmp rcx, 0x80
setb al
not bl
test bl, al
jne 0x1401edc54
cmp qword [rdi], 0
jne 0x1401edc54
mov qword [rdi], 1
mov al, 2
mov rdx, qword [rsp + 0x98]
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov byte [rdx + 0x20], al
mov eax, dword [rsp + 0x118]
mov ecx, dword [rsp + 0x11b]
mov dword [rdx + 0x21], eax
mov dword [rdx + 0x24], ecx
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test r13, r13
je 0x1401ed826
movabs rcx, 0x100000001b3
mov r8, r13
mov rdx, rdi
and r8, 3
je 0x1401edceb
mov r9, r15
nop word cs:[rax + rax]
movzx r10d, byte [rdx]
movzx r15d, byte [r10 + r14]
xor r15, r9
imul r15, rcx
inc rdx
mov r9, r15
dec r8
jne 0x1401edcd0
cmp r13, 4
movzx r10d, byte [rsp + 0x37]
jb 0x1401ed826
nop dword [rax + rax]
movzx r8d, byte [rdx]
movzx r8d, byte [r8 + r14]
xor r8, r15
imul r8, rcx
movzx r9d, byte [rdx + 1]
movzx r9d, byte [r9 + r14]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 2]
movzx r8d, byte [r8 + r14]
xor r8, r9
imul r8, rcx
movzx r9d, byte [rdx + 3]
movzx r15d, byte [r9 + r14]
xor r15, r8
imul r15, rcx
add rdx, 4
cmp rdx, rax
jne 0x1401edd00
jmp 0x1401ed826
mov rdx, rdi
cmp r13, 8
jb 0x1401ed826
nop
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 0x1401edd60
jmp 0x1401ed826
lea r8, str._Users_ma__kiri_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.11_src_header_map.rs
mov rcx, r13
mov rdx, rbp
call fcn.14003d940
jmp 0x1401ede32
lea r8, str._Users_ma__kiri_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.11_src_header_map.rs
mov rcx, r12
call fcn.14003d940
ud2
lea r8, str._Users_ma__kiri_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.11_src_header_map.rs
mov rcx, r13
mov rdx, rbp
call fcn.14003d940
jmp 0x1401ede32
lea rax, str._Users_ma__kiri_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.11_src_header_name.rsstatic_str_is_invalid_name
mov qword [rsp + 0x20], rax
lea rcx, [0x1402fe843]
lea r9, [0x1402fe580]
lea r8, [rsp + 0xc0]
mov edx, 0x1a
call fcn.1400427e0
ud2