Function at 0x1400429c0
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, 0x1b8
mov rbx, r9
mov rdi, rcx
lea rax, [0x1401f4ca3]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x178]
call fcn.14004f460
cmp byte [rsp + 0x90], 3
je 0x140043425
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x60], xmm0
mov rbp, qword [rbx]
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x100], rax
movdqu xmm0, xmmword [rbx + 8]
movdqu xmm1, xmmword [rbx + 0x18]
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
mov rcx, rbp
call fcn.140043470
test al, al
je 0x140042a85
mov byte [rdi + 0x20], 3
lea rcx, [rsp + 0xf8]
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
call qword [rax + 0x18]
jmp 0x1400432e7
mov r14, qword [rbp]
cmp r14, 2
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x168], r14
jne 0x140042b45
movdqu xmm0, xmmword [rbp + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x1401d19c0]
movdqa xmmword [rsp + 0x80], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x1401d19d0]
movdqa xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0xa0], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
movzx esi, byte [rsp + 0x70]
xor eax, eax
cmp sil, 2
setne al
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x30]
mov r8d, 8
call fcn.14010ef70
mov eax, esi
cmp al, 2
jne 0x140042b91
mov edi, eax
movzx eax, byte [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x30]
mov r8d, 8
jmp 0x140042bb3
movzx edx, byte [rsp + 0x70]
xor eax, eax
cmp dl, 2
setne al
movabs rsi, 0xcbf29ce484222325
xor rsi, rax
movabs rax, 0x1efac7090aef4a21
imul rsi, rax
cmp dl, 2
jne 0x1400430ad
movzx ecx, byte [rsp + 0x60]
xor rsi, rcx
imul rsi, rax
mov r9b, 2
lea r11, [0x1401f4ca3]
jmp 0x140042cc2
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov edi, eax
test al, al
je 0x1400432fb
lea rcx, [rsp + 0x80]
mov rdx, r14
mov r8, r15
call fcn.14010ef70
lea r11, [0x1401f4ca3]
mov rax, qword [rsp + 0x90]
mov r9, qword [rsp + 0xb0]
shl r9, 0x38
or r9, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x80]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x88]
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 rsi, rdx
shr rsi, 0x20
xor rsi, rdx
xor rsi, rax
mov r9d, edi
add rbx, 8
mov qword [rsp + 0x160], rbx
and esi, 0x7fff
movzx ebx, word [rbp + 0x58]
mov eax, esi
and eax, ebx
mov rdi, qword [rbp + 0x50]
mov r15, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0xc8], rbp
mov r10, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rcx
mov r13, qword [rsp + 0x68]
xor r12d, r12d
movzx ecx, r9b
mov dword [rsp + 0xdc], ecx
jmp 0x140042d30
inc r12
inc r14
mov rax, r14
nop word [rax + rax]
mov r14, rax
mov eax, 0
cmp r14, rdi
jae 0x140042d30
movzx ebp, word [r15 + r14*4]
cmp rbp, 0xffff
je 0x140042e5b
movzx eax, word [r15 + r14*4 + 2]
mov ecx, eax
and ecx, ebx
mov edx, r14d
sub edx, ecx
and edx, ebx
cmp rdx, r12
jb 0x140042f91
cmp ax, si
jne 0x140042d1e
cmp r10, rbp
jbe 0x140043404
imul rcx, rbp, 0x68
mov rdx, qword [rsp + 0x170]
lea rax, [rdx + rcx]
add rax, 0x40
cmp qword [rdx + rcx + 0x40], 0
je 0x140042dfc
test r9b, r9b
je 0x140042e1c
cmp dword [rsp + 0xdc], 2
je 0x140042d1e
cmp qword [rax + 0x10], r13
jne 0x140042d1e
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0xd0]
mov r8, r13
mov dword [rsp + 0xd8], r9d
mov qword [rsp + 0x158], r10
call sub.msvcrt.dll_memcmp
mov r10, qword [rsp + 0x158]
mov r9d, dword [rsp + 0xd8]
lea r11, [0x1401f4ca3]
test eax, eax
jne 0x140042d1e
jmp 0x14004304a
cmp r9b, 2
jne 0x140042d1e
mov rcx, qword [rsp + 0xd0]
cmp byte [rax + 8], cl
jne 0x140042d1e
jmp 0x14004304a
cmp qword [rax + 0x10], r13
jne 0x140042d1e
mov rax, qword [rax + 8]
xor ecx, ecx
nop dword [rax]
cmp r13, rcx
je 0x14004304a
mov rdx, qword [rsp + 0xd0]
movzx edx, byte [rdx + rcx]
lea r8, [rcx + 1]
movzx edx, byte [rdx + r11]
cmp dl, byte [rax + rcx]
mov rcx, r8
je 0x140042e30
jmp 0x140042d1e
mov r15, r10
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x60]
call fcn.1400520e0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x50], rax
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x30], xmm0
mov rbx, qword [rsp + 0xc8]
mov rdi, qword [rbx + 0x28]
cmp rdi, 0x7fff
ja 0x140042ffd
movups xmm0, xmmword [rsp + 0x110]
movups xmm1, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
cmp rdi, qword [rbx + 0x18]
jne 0x140042f13
lea rcx, [rbx + 0x18]
call fcn.140058af0
mov rax, qword [rbx + 0x20]
imul rcx, rdi, 0x68
mov qword [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [rax + rcx + 0x18], xmm0
movups xmmword [rax + rcx + 0x28], xmm1
mov rdx, qword [rsp + 0xa0]
mov qword [rax + rcx + 0x38], rdx
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movups xmmword [rax + rcx + 0x40], xmm0
movups xmmword [rax + rcx + 0x50], xmm1
mov word [rax + rcx + 0x60], si
inc rdi
mov qword [rbx + 0x28], rdi
mov rdx, qword [rbx + 0x50]
cmp r14, rdx
jae 0x140043416
mov rax, qword [rbx + 0x48]
mov word [rax + r14*4], r15w
mov word [rax + r14*4 + 2], si
jmp 0x1400432b4
cmp r12, 0x200
setae bpl
cmp dword [rsp + 0x168], 2
setne bl
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x60]
call fcn.1400520e0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x50], rax
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x30], xmm0
mov r15, qword [rsp + 0xc8]
mov rdi, qword [r15 + 0x28]
cmp rdi, 0x7fff
jbe 0x14004317f
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x110]
test rax, rax
je 0x14004303c
lea rcx, [rsp + 0x128]
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x120]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x28]
mov byte [rax + 0x20], 3
jmp 0x1400432e7
lea rcx, [rsp + 0x80]
mov rdx, qword [rsp + 0xc8]
mov r8, rbp
mov r9, qword [rsp + 0x160]
call fcn.140043ab0
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
movzx eax, byte [rsp + 0xa0]
mov ecx, dword [rsp + 0xa1]
mov dword [rsp + 0x130], ecx
mov ecx, dword [rsp + 0xa4]
mov dword [rsp + 0x133], ecx
jmp 0x1400432b6
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
lea rcx, [rax + r8]
test dl, dl
lea r11, [0x1401f4ca3]
je 0x140043353
mov r9b, 1
test r8, r8
je 0x140042cc2
movabs rdx, 0x100000001b3
mov r9, r8
and r9, 7
je 0x140043105
mov r10, rsi
nop dword [rax]
movzx esi, byte [rax]
inc rax
xor rsi, r10
imul rsi, rdx
mov r10, rsi
dec r9
jne 0x1400430f0
cmp r8, 8
jb 0x140043177
nop dword [rax + rax]
movzx r8d, byte [rax]
xor r8, rsi
imul r8, rdx
movzx r9d, byte [rax + 1]
xor r9, r8
imul r9, rdx
movzx r8d, byte [rax + 2]
xor r8, r9
imul r8, rdx
movzx r9d, byte [rax + 3]
xor r9, r8
imul r9, rdx
movzx r8d, byte [rax + 4]
xor r8, r9
imul r8, rdx
movzx r9d, byte [rax + 5]
xor r9, r8
imul r9, rdx
movzx r8d, byte [rax + 6]
xor r8, r9
imul r8, rdx
movzx esi, byte [rax + 7]
add rax, 8
xor rsi, r8
imul rsi, rdx
cmp rax, rcx
jne 0x140043110
mov r9b, 1
jmp 0x140042cc2
movups xmm0, xmmword [rsp + 0x110]
movups xmm1, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
cmp rdi, qword [r15 + 0x18]
jne 0x1400431de
lea rcx, [r15 + 0x18]
call fcn.140058af0
and bl, bpl
mov rax, qword [r15 + 0x20]
imul rcx, rdi, 0x68
mov qword [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [rax + rcx + 0x18], xmm0
movups xmmword [rax + rcx + 0x28], xmm1
mov rdx, qword [rsp + 0xa0]
mov qword [rax + rcx + 0x38], rdx
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movups xmmword [rax + rcx + 0x40], xmm0
movups xmmword [rax + rcx + 0x50], xmm1
mov word [rax + rcx + 0x60], si
lea rax, [rdi + 1]
mov qword [r15 + 0x28], rax
mov rax, qword [r15 + 0x48]
mov rdx, qword [r15 + 0x50]
xor ecx, ecx
nop dword [rax]
mov r8, r14
mov r14d, 0
cmp r8, rdx
jae 0x140043250
movzx r9d, word [rax + r8*4]
cmp r9w, 0xffff
je 0x14004328c
inc rcx
movzx r10d, word [rax + r8*4 + 2]
mov word [rax + r8*4], di
mov word [rax + r8*4 + 2], si
inc r8
mov esi, r10d
mov edi, r9d
mov r14, r8
jmp 0x140043250
mov word [rax + r8*4], di
mov word [rax + r8*4 + 2], si
cmp rcx, 0x80
setb al
not bl
test bl, al
jne 0x1400432b4
cmp qword [r15], 0
jne 0x1400432b4
mov qword [r15], 1
mov al, 2
mov rdx, qword [rsp + 0x28]
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
mov byte [rdx + 0x20], al
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x133]
mov dword [rdx + 0x21], eax
mov dword [rdx + 0x24], ecx
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test r15, r15
lea r11, [0x1401f4ca3]
je 0x140042bbf
xor esi, esi
lea r12, [rsp + 0x80]
lea r13, [rsp + 0x30]
nop word [rax + rax]
movzx eax, byte [r14 + rsi]
movzx eax, byte [rax + r11]
mov byte [rsp + 0x30], al
mov r8d, 1
mov rcx, r12
mov rdx, r13
call fcn.14010ef70
lea r11, [0x1401f4ca3]
inc rsi
cmp r15, rsi
jne 0x140043320
jmp 0x140042bbf
test r8, r8
je 0x14004339f
movabs rdx, 0x100000001b3
mov r9, r8
and r9, 3
je 0x140043399
mov r10, rsi
nop
movzx r11d, byte [rax]
lea rsi, [0x1401f4ca3]
movzx esi, byte [r11 + rsi]
lea r11, [0x1401f4ca3]
xor rsi, r10
imul rsi, rdx
inc rax
mov r10, rsi
dec r9
jne 0x140043370
cmp r8, 4
jae 0x1400433b0
xor r9d, r9d
jmp 0x140042cc2
movzx r8d, byte [rax]
movzx r8d, byte [r8 + r11]
xor r8, rsi
imul r8, rdx
movzx r9d, byte [rax + 1]
movzx r9d, byte [r9 + r11]
xor r9, r8
imul r9, rdx
movzx r8d, byte [rax + 2]
movzx r8d, byte [r8 + r11]
xor r8, r9
imul r8, rdx
movzx r9d, byte [rax + 3]
movzx esi, byte [r9 + r11]
xor rsi, r8
imul rsi, rdx
add rax, 4
xor r9d, r9d
cmp rax, rcx
jne 0x1400433b0
jmp 0x140042cc2
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_header_map.rs
mov rcx, rbp
mov rdx, r10
call fcn.140046290
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_header_map.rs
mov rcx, r14
call fcn.140046290
lea rax, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_header_name.rsstatic_str_is_invalid_name
mov qword [rsp + 0x20], rax
lea rcx, [0x1401dce86]
lea r9, [0x1401dcde0]
lea r8, [rsp + 0x30]
mov edx, 0x1a
call fcn.140048d20
int3