Function at 0x140162670
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, 0x2e8
movaps xmmword [rsp + 0x2d0], xmm8
movdqa xmmword [rsp + 0x2c0], xmm7
movdqa xmmword [rsp + 0x2b0], xmm6
mov byte [rsp + 0x4c], dl
mov r14, rcx
lea rdx, str.keep_aliveclose
lea rcx, [rsp + 0x1d0]
mov r8d, 0xa
mov rsi, rcx
call fcn.1401c6800
cmp qword [rsp + 0x1d0], 0
jne 0x140163a5b
movups xmm0, xmmword [rsp + 0x1d8]
movups xmm1, xmmword [rsp + 0x1e8]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
lea rdx, str.proxy_connection
lea rcx, [rsp + 0x50]
mov r8d, 0x10
call fcn.1401c6800
cmp qword [rsp + 0x50], 0
jne 0x140163a64
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x1d0], xmm0
movdqa xmmword [rsp + 0x1e0], xmm1
movups xmm0, xmmword [0x1403d65a0]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [0x1403d65b0]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [0x1403d5f90]
movaps xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [0x1403d5fa0]
movaps xmmword [rsp + 0x240], xmm0
movups xmm0, xmmword [0x1403d65d0]
movaps xmmword [rsp + 0x260], xmm0
movups xmm0, xmmword [0x1403d65c0]
movaps xmmword [rsp + 0x250], xmm0
xor ecx, ecx
mov rdx, rsi
mov qword [rsp + 0x30], r14
jmp 0x1401627e9
mov rcx, qword [rsp + 0x38]
inc rcx
mov rax, rcx
shl rax, 5
lea rdx, [rsp + rax]
add rdx, 0x1d0
cmp rcx, 5
mov r14, qword [rsp + 0x30]
je 0x140162b42
mov qword [rsp + 0x38], rcx
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x1401627c0
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x118], rax
call fcn.14010dc20
mov r10, qword [rsp + 0x118]
xor r9d, r9d
mov rdx, qword [rsp + 0x40]
mov r12d, eax
movzx edi, word [rsi + 0x58]
mov r13d, r12d
and r13d, edi
mov rbx, qword [rsi + 0x50]
mov r11, qword [rsi + 0x20]
mov r14, qword [rsi + 0x48]
xor ebp, ebp
mov dword [rsp + 0x110], r12d
jmp 0x140162866
movzx eax, byte [rcx + 8]
cmp al, byte [rdx + 8]
je 0x14016290f
nop word cs:[rax + rax]
inc rbp
inc r13
cmp r13, rbx
cmovae r13, r9
jb 0x140162878
test rbx, rbx
je 0x140162b40
movzx r15d, word [r14 + r13*4]
cmp r15, 0xffff
je 0x1401627c0
movzx eax, word [r14 + r13*4 + 2]
mov ecx, edi
and ecx, eax
mov r8d, r13d
sub r8d, ecx
mov ecx, edi
and ecx, r8d
cmp rbp, rcx
ja 0x1401627c0
cmp ax, r12w
jne 0x140162860
cmp r10, r15
jbe 0x1401639da
imul rsi, r15, 0x68
mov rax, qword [r11 + rsi + 0x40]
test rax, rax
setne cl
cmp qword [rdx], 0
sete r8b
cmp cl, r8b
je 0x140162860
lea rcx, [r11 + rsi]
add rcx, 0x40
test rax, rax
je 0x140162846
mov r12, r11
call fcn.1401cca00
mov r11, r12
mov r12d, dword [rsp + 0x110]
mov r10, qword [rsp + 0x118]
xor r9d, r9d
mov rdx, qword [rsp + 0x40]
test al, al
je 0x140162860
cmp qword [r11 + rsi], 0
mov rdi, qword [rsp + 0x30]
je 0x14016292a
add r11, rsi
mov rdx, qword [r11 + 8]
mov rcx, rdi
call fcn.14015b460
lea rcx, [rsp + 0x50]
mov rdx, rdi
mov r8, r13
mov r9, r15
call fcn.14015b210
lea rcx, [rsp + 0x68]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14016298f
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
call qword [rax + 0x10]
cmp byte [rsp + 0xe0], 2
je 0x1401627c0
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0xd8]
call qword [rax + 0x10]
mov rax, qword [str.X4G_]
mov rax, qword [rax]
cmp rax, 3
ja 0x1401627c0
movzx edx, byte [0x140470b28]
test dl, dl
je 0x1401627c0
movzx eax, dl
cmp eax, 1
je 0x1401629f6
cmp eax, 2
jne 0x140162b21
mov dl, 2
mov rcx, qword [0x140470b18]
call fcn.14019b430
test al, al
je 0x1401627c0
mov r15, qword [0x140470b18]
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x140163abc
lea rsi, [r15 + 0x30]
mov rcx, qword [r15 + 0x30]
movups xmm0, xmmword [r15 + 0x40]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0
mov rcx, qword [rsp + 0x40]
call fcn.14015c680
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rdx
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x278], rax
lea rax, [0x14002bbf0]
mov qword [rsp + 0x280], rax
lea rax, str.Connection_header_illegal_in_HTTP_2:
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x278]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x128], rax
lea rax, method..1.virtual_0
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
mov qword [rsp + 0x170], rsi
mov rcx, r15
lea rdx, [rsp + 0x160]
call fcn.14019bc50
jmp 0x1401627c0
lea rcx, [0x140470b18]
call fcn.140343090
mov edx, eax
test al, al
jne 0x1401629f6
jmp 0x1401627c0
jmp 0x140162b40
cmp byte [rsp + 0x4c], 0
je 0x140162baa
movdqu xmm6, xmmword [0x1403d65f0]
movdqa xmmword [rsp + 0x60], xmm6
movdqu xmm7, xmmword [0x1403d65e0]
movdqa xmmword [rsp + 0x50], xmm7
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x140162dd2
lea rdx, [rsp + 0x50]
mov rcx, r14
mov qword [rsp + 0x40], rax
call fcn.14010dc20
mov rdx, qword [rsp + 0x40]
mov ebp, eax
movzx esi, word [r14 + 0x58]
mov edi, ebp
and edi, esi
mov r13, qword [r14 + 0x50]
mov r10, qword [r14 + 0x20]
mov r15, qword [r14 + 0x48]
xor ebx, ebx
xor r14d, r14d
jmp 0x140162d26
movups xmm0, xmmword [0x1403d65f0]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [0x1403d65e0]
movaps xmmword [rsp + 0xc0], xmm0
lea rdi, [rsp + 0x50]
lea rbx, [rsp + 0xc0]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14015c160
cmp byte [rsp + 0x70], 2
je 0x140162f6f
lea rcx, [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
call qword [rax + 0x10]
mov rax, qword [str.X4G_]
mov rax, qword [rax]
cmp rax, 3
ja 0x140162f6f
movzx edx, byte [0x140470af8]
test dl, dl
je 0x140162f6f
movzx eax, dl
cmp eax, 1
je 0x140162c3b
cmp eax, 2
jne 0x140163a07
mov dl, 2
mov rcx, qword [0x140470ae8]
call fcn.14019b430
test al, al
je 0x140162f6f
mov rcx, qword [0x140470ae8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140163aec
lea rdx, [rcx + 0x30]
mov r8, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xc8], rax
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0
lea rax, str.TE_headers_illegal_in_HTTP_2_responses
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rax, [0x1403d33f8]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], rdi
lea rax, method..1.virtual_0
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
mov qword [rsp + 0x170], rdx
lea rdx, [rsp + 0x160]
call fcn.14019bc50
jmp 0x140162f6f
movzx eax, byte [rcx + 8]
cmp al, byte [rsp + 0x58]
je 0x140162dbc
nop
inc r14
inc rdi
cmp rdi, r13
cmovae rdi, rbx
jb 0x140162d38
test r13, r13
je 0x140162dd0
movzx ecx, word [r15 + rdi*4]
cmp rcx, 0xffff
je 0x140162dc4
movzx eax, word [r15 + rdi*4 + 2]
mov r9d, eax
and r9d, esi
mov r8d, edi
sub r8d, r9d
and r8d, esi
cmp r14, r8
ja 0x140162dc4
cmp ax, bp
jne 0x140162d20
cmp rdx, rcx
jbe 0x140163a4f
imul r12, rcx, 0x68
mov rax, qword [r10 + r12 + 0x40]
test rax, rax
setne cl
cmp qword [rsp + 0x50], 0
sete r8b
cmp cl, r8b
je 0x140162d20
lea rcx, [r10 + r12]
add rcx, 0x40
test rax, rax
je 0x140162d11
lea rdx, [rsp + 0x50]
mov rbx, r10
call fcn.1401cca00
mov r10, rbx
xor ebx, ebx
mov rdx, qword [rsp + 0x40]
test al, al
je 0x140162d20
lea rbx, [r10 + r12]
add rbx, 0x18
mov r14, qword [rsp + 0x30]
jmp 0x140162dd4
jmp 0x140162dd0
xor ebx, ebx
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140162df0
lea rcx, [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
call qword [rax + 0x10]
test rbx, rbx
je 0x140162f6f
lea rdx, str.trailers
mov r8d, 8
mov rcx, rbx
call fcn.1401cca30
test al, al
jne 0x140162f6f
mov rax, qword [str.X4G_]
mov rax, qword [rax]
cmp rax, 3
ja 0x140162f2a
movzx edx, byte [0x140470b10]
test dl, dl
je 0x140162f2a
movzx eax, dl
cmp eax, 1
je 0x140162e4c
cmp eax, 2
jne 0x140163a34
mov dl, 2
mov rcx, qword [0x140470b00]
call fcn.14019b430
test al, al
je 0x140162f2a
mov rcx, qword [0x140470b00]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140163b04
lea rdx, [rcx + 0x30]
mov r8, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xc8], rax
movups xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0
lea rax, str.pf_
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rax, [0x1403d33f8]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x128], rax
lea rax, method..1.virtual_0
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
mov qword [rsp + 0x170], rdx
lea rdx, [rsp + 0x160]
call fcn.14019bc50
movdqa xmmword [rsp + 0xd0], xmm6
movdqa xmmword [rsp + 0xc0], xmm7
lea rcx, [rsp + 0x50]
lea r8, [rsp + 0xc0]
mov rdx, r14
call fcn.14015c160
cmp byte [rsp + 0x70], 2
je 0x140162f6f
lea rcx, [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
call qword [rax + 0x10]
movups xmm0, xmmword [0x1403d66d0]
movaps xmmword [rsp + 0x60], xmm0
movdqu xmm0, xmmword [0x1403d66c0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x278]
lea rdi, [rsp + 0x50]
mov rdx, r14
mov r8, rdi
call fcn.14015c160
cmp byte [rsp + 0x298], 2
je 0x1401638e5
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x1c0], rax
movdqu xmm0, xmmword [rsp + 0x278]
movdqu xmm1, xmmword [rsp + 0x288]
movdqa xmmword [rsp + 0x1b0], xmm1
movdqa xmmword [rsp + 0x1a0], xmm0
mov rax, qword [str.X4G_]
mov rax, qword [rax]
cmp rax, 3
ja 0x14016313d
movzx edx, byte [0x140470ae0]
test dl, dl
je 0x14016313d
movzx eax, dl
cmp eax, 1
je 0x140163019
cmp eax, 2
jne 0x1401639ec
mov dl, 2
mov rcx, qword [0x140470ad0]
call fcn.14019b430
test al, al
je 0x14016313d
mov rbx, qword [0x140470ad0]
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x140163ad4
lea rsi, [rbx + 0x30]
mov rcx, qword [rbx + 0x30]
movdqu xmm0, xmmword [rbx + 0x40]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
movdqu xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0
lea rcx, [0x1403d66c0]
call fcn.14015c680
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rdx
lea rax, [rsp + 0x150]
mov qword [rsp + 0x2a0], rax
lea rax, [0x14002bbf0]
mov qword [rsp + 0x2a8], rax
lea rax, str.Connection_header_illegal_in_HTTP_2:
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
lea rax, method..1.virtual_0
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
mov qword [rsp + 0x170], rsi
lea rdx, [rsp + 0x160]
mov rcx, rbx
call fcn.14019bc50
lea rcx, [rsp + 0x1a0]
call fcn.1401c6b00
test rax, rax
je 0x140163a90
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], 1
movabs rax, 0x2c0000002c
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x100], 1
lea rcx, [rsp + 0xc0]
call fcn.14015a790
test rax, rax
je 0x1401638c2
lea rsi, [0x1403d45af]
lea rdi, [rsp + 0x50]
lea rbx, [rsp + 0x160]
lea r15, [rsp + 0xc0]
movdqa xmm6, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm7, xmmword [0x14035d4d0]
xorps xmm8, xmm8
jmp 0x14016322d
mov r14, qword [rsp + 0x30]
lea rsi, [0x1403d45af]
lea rdi, [rsp + 0x50]
lea rbx, [rsp + 0x160]
lea r15, [rsp + 0xc0]
mov rcx, r15
call fcn.14015a790
test rax, rax
je 0x1401638c2
mov rcx, rax
call fcn.14010c870
mov r8, rdx
mov qword [rsp + 0x20], rsi
mov rcx, rdi
mov rdx, rax
mov r9, rbx
call fcn.1401c6340
movzx r12d, byte [rsp + 0x60]
cmp r12b, 3
je 0x14016321c
mov r11, qword [r14 + 0x28]
test r11, r11
mov r10d, 0
je 0x1401631fb
mov rdx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x30]
cmp dword [r14], 2
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x38], rbp
jne 0x140163325
mov r13, rdx
movdqu xmm0, xmmword [r14 + 8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm6
movdqa xmmword [rsp + 0x50], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm7
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x80]
movaps xmmword [rax], xmm8
mov qword [rax + 0x10], 0
xor eax, eax
cmp r12b, 2
setne al
mov qword [rsp + 0x150], rax
mov r8d, 8
lea rbx, [rsp + 0x50]
mov rcx, rbx
lea r15, [rsp + 0x150]
mov rdx, r15
call fcn.140030da0
mov eax, r12d
cmp al, 2
jne 0x140163365
movzx eax, r13b
mov qword [rsp + 0x150], rax
mov r8d, 8
mov rcx, rbx
mov rdx, r15
call fcn.140030da0
jmp 0x140163407
xor edi, edi
cmp r12b, 2
setne dil
movabs rax, 0xcbf29ce484222325
xor rdi, rax
movabs rcx, 0x1efac7090aef4a21
imul rdi, rcx
cmp r12b, 2
jne 0x140163386
movzx eax, dl
xor rax, rdi
imul rax, rcx
mov r9b, 2
mov rdi, rax
jmp 0x14016350c
test al, al
lea rdi, [0x1403d45af]
mov rdx, r13
je 0x1401633d3
mov rcx, rbx
mov r8, rbp
mov r13, rdx
call fcn.140030da0
jmp 0x140163407
mov rbx, rdx
lea rax, [rdx + rbp]
test r12b, r12b
je 0x140163758
test rbp, rbp
movabs r9, 0x100000001b3
je 0x1401637a4
mov r8, rbp
and r8, 7
je 0x1401637b6
mov rcx, rbx
movzx edx, byte [rcx]
inc rcx
xor rdx, rdi
imul rdx, r9
mov rdi, rdx
dec r8
jne 0x1401633b9
jmp 0x1401637bc
test rbp, rbp
mov r13, rdx
je 0x140163407
xor esi, esi
movzx eax, byte [r13 + rsi]
movzx eax, byte [rax + rdi]
mov byte [rsp + 0x150], al
mov r8d, 1
mov rcx, rbx
mov rdx, r15
call fcn.140030da0
inc rsi
cmp rbp, rsi
jne 0x1401633dd
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 rdi, rdx
shr rdi, 0x20
xor rdi, rdx
xor rdi, rax
xor r10d, r10d
mov r11, qword [rsp + 0x110]
mov rdx, r13
mov r9d, r12d
and edi, 0x7fff
movzx ebp, word [r14 + 0x58]
mov r13d, edi
and r13d, ebp
mov rbx, qword [r14 + 0x50]
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x40], rax
mov r15, qword [r14 + 0x48]
mov rax, qword [rsp + 0x38]
neg rax
mov qword [rsp + 0x118], rax
xor r14d, r14d
mov dword [rsp + 0x4c], r9d
jmp 0x140163556
inc r14
inc r13
cmp r13, rbx
cmovae r13, r10
jb 0x140163568
test rbx, rbx
je 0x1401638c0
movzx r12d, word [r15 + r13*4]
cmp r12, 0xffff
je 0x1401631fb
movzx eax, word [r15 + r13*4 + 2]
mov ecx, ebp
and ecx, eax
mov r8d, r13d
sub r8d, ecx
mov ecx, ebp
and ecx, r8d
cmp r14, rcx
ja 0x1401631fb
cmp ax, di
jne 0x140163550
cmp r11, r12
jbe 0x140163a22
imul rsi, r12, 0x68
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rsi]
add rax, 0x40
cmp qword [rcx + rsi + 0x40], 0
je 0x140163611
cmp r9b, 2
je 0x140163550
test r9b, r9b
je 0x140163626
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x140163550
mov rcx, qword [rax + 8]
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x1c8], rdx
call sub.VCRUNTIME140.dll_memcmp
mov r9d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x1c8]
mov r11, qword [rsp + 0x110]
xor r10d, r10d
test eax, eax
jne 0x140163550
jmp 0x140163681
cmp r9b, 2
jne 0x140163550
cmp byte [rax + 8], dl
jne 0x140163550
jmp 0x140163681
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x140163550
mov rax, qword [rax + 8]
mov rcx, 0xffffffffffffffff
mov r8, qword [rsp + 0x118]
add r8, rcx
cmp r8, 0xffffffffffffffff
je 0x140163681
movzx r9d, byte [rdx + rcx + 1]
lea r8, [0x1403d45af]
movzx r8d, byte [r9 + r8]
lea r9, [rcx + 1]
cmp r8b, byte [rax + rcx + 1]
mov rcx, r9
je 0x140163640
cmp r9, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x4c]
jb 0x140163550
mov rax, qword [rsp + 0x40]
cmp qword [rax + rsi], 0
mov r14, qword [rsp + 0x30]
je 0x1401636a1
add rax, rsi
mov rdx, qword [rax + 8]
mov rcx, r14
call fcn.14015b460
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov rdx, r14
mov r8, r13
mov r9, r12
call fcn.14015b210
lea rcx, [rsp + 0x68]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x140], rax
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmmword [rsp + 0x130], xmm1
movdqa xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0x90]
test rax, rax
lea rsi, [0x1403d45af]
lea rbx, [rsp + 0x160]
lea r15, [rsp + 0xc0]
je 0x140163722
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
call qword [rax + 0x10]
cmp byte [rsp + 0x140], 2
je 0x14016321c
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x138]
call qword [rax + 0x10]
jmp 0x14016321c
mov rsi, r11
test rbp, rbp
lea r9, [0x1403d45af]
movabs r11, 0x100000001b3
je 0x140163831
mov r8, rbp
mov rcx, rbx
and r8, 3
je 0x14016383d
movzx edx, byte [rcx]
movzx edx, byte [rdx + r9]
xor rdx, rdi
imul rdx, r11
inc rcx
mov rdi, rdx
dec r8
jne 0x140163785
jmp 0x140163840
mov r9b, 1
xor eax, eax
mov qword [rsp + 0x38], rax
mov rdx, rbx
jmp 0x14016350c
mov rdx, rdi
mov rcx, rbx
cmp rbp, 8
jb 0x140163826
movzx r8d, byte [rcx]
xor r8, rdx
imul r8, r9
movzx edx, byte [rcx + 1]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rcx + 2]
xor r8, rdx
imul r8, r9
movzx edx, byte [rcx + 3]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rcx + 4]
xor r8, rdx
imul r8, r9
movzx edx, byte [rcx + 5]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rcx + 6]
xor r8, rdx
imul r8, r9
movzx edx, byte [rcx + 7]
add rcx, 8
xor rdx, r8
imul rdx, r9
cmp rcx, rax
jne 0x1401637c2
mov rdi, rdx
mov rdx, rbx
jmp 0x140163509
xor eax, eax
mov qword [rsp + 0x38], rax
xor r9d, r9d
jmp 0x14016384f
mov rdx, rdi
mov rdi, rdx
cmp rbp, 4
jae 0x14016385a
xor r9d, r9d
mov rdi, rdx
mov r11, rsi
mov rdx, rbx
jmp 0x14016350c
movzx edx, byte [rcx]
movzx edx, byte [rdx + r9]
xor rdx, rdi
imul rdx, r11
movzx r8d, byte [rcx + 1]
movzx r8d, byte [r8 + r9]
xor r8, rdx
imul r8, r11
movzx edx, byte [rcx + 2]
movzx edx, byte [rdx + r9]
xor rdx, r8
imul rdx, r11
movzx r8d, byte [rcx + 3]
movzx edi, byte [r8 + r9]
xor rdi, rdx
imul rdi, r11
add rcx, 4
cmp rcx, rax
jne 0x14016385a
mov r11, rsi
mov rdx, rbx
xor r9d, r9d
jmp 0x14016350c
jmp 0x1401638c0
lea rcx, [rsp + 0x1b8]
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
mov r8, qword [rsp + 0x1b0]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x14016390d
lea rcx, [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1e0]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x1f0]
test rax, rax
je 0x140163935
lea rcx, [rsp + 0x208]
mov rdx, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x200]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x210]
test rax, rax
je 0x14016395d
lea rcx, [rsp + 0x228]
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x220]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x230]
test rax, rax
je 0x140163985
lea rcx, [rsp + 0x248]
mov rdx, qword [rsp + 0x238]
mov r8, qword [rsp + 0x240]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x250]
test rax, rax
je 0x1401639ad
lea rcx, [rsp + 0x268]
mov rdx, qword [rsp + 0x258]
mov r8, qword [rsp + 0x260]
call qword [rax + 0x10]
movaps xmm6, xmmword [rsp + 0x2b0]
movaps xmm7, xmmword [rsp + 0x2c0]
movaps xmm8, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x1403d3e18]
mov rcx, r15
mov rdx, r10
call fcn.140345500
lea rcx, [0x140470ad0]
call fcn.140343090
mov edx, eax
test al, al
jne 0x140163019
jmp 0x14016313d
lea rcx, [0x140470ae8]
call fcn.140343090
mov edx, eax
test al, al
jne 0x140162c3b
jmp 0x140162f6f
lea r8, [0x1403d3e18]
mov rcx, r12
mov rdx, r11
call fcn.140345500
lea rcx, [0x140470b00]
call fcn.140343090
mov edx, eax
test al, al
jne 0x140162e4c
jmp 0x140162f2a
lea r8, [0x1403d3e18]
call fcn.140345500
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
jmp 0x140163a6b
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1403d3b90]
lea r9, method..1.virtual_0
lea r8, [rsp + 0x160]
mov edx, 0x2b
call fcn.140345810
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1403d3b90]
lea r9, method..1.virtual_0
lea r8, [rsp + 0x160]
mov edx, 0x2b
call fcn.140345810
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_src_bodylength.rs
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
mov edx, 0x22
call fcn.1403452c0
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_src_bodylength.rs
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
mov edx, 0x22
call fcn.1403452c0
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_src_bodylength.rs
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
mov edx, 0x22
call fcn.1403452c0
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_src_bodylength.rs
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcprotoh2mod.rs
mov edx, 0x22
call fcn.1403452c0
int3