Function at 0x14008dda0
Capabilities:
Check http status code

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movsx r10d, byte [rdx]
mov r12, r8
mov r13, qword [rcx + 0x18]
mov r15, rdx
mov r14, rcx
mov qword [rsp + 0x70], r13
lea eax, [r10 - 0x41]
cmp eax, 0x36
ja case.0x14008ddfc.66
lea r11, [0x140000000]
cdqe
movzx eax, byte [r11 + rax + 0x8f618]
mov ecx, dword [r11 + rax*4 + 0x8f5f4]
add rcx, r11
jmp rcx
mov r11, qword [r14 + 0x9e0]
test r11, r11
je case.0x14008ddfc.66
mov rax, qword [r13 + 0x3d8]
test byte [rax + 0x94], 1
je case.0x14008ddfc.66
cmp r12, 8
jb case.0x14008ddfc.66
mov edx, 8
lea r8, str.Alt_Svc:
mov r9d, edx
lea rbx, [0x140000000]
mov r10, r15
movzx eax, byte [r10]
test al, al
je 0x14008de7a
test r9, r9
je 0x14008de9c
movzx ecx, byte [r8]
movzx eax, byte [rax + rbx + 0x147570]
cmp byte [rcx + rbx + 0x147570], al
jne case.0x14008ddfc.66
inc r8
dec r9
inc r10
cmp byte [r8], 0
jne 0x14008de45
test r9, r9
je 0x14008de9c
movzx eax, byte [r10]
movzx ecx, byte [r8]
movzx eax, byte [rax + rbx + 0x147570]
cmp byte [rcx + rbx + 0x147570], al
jne case.0x14008ddfc.66
lea r8, [r15 + 8]
test r8, r8
je case.0x14008ddfc.66
movzx eax, byte [r13 + 0x6c4]
cmp al, 0x1e
jne 0x14008debc
mov edx, 0x20
jmp 0x14008dec8
cmp al, 0x14
mov r9d, reloc.WS2_32.dll_recv
cmove edx, r9d
movzx eax, word [r13 + 0x6b4]
mov r9d, edx
mov word [rsp + 0x28], ax
mov rdx, r11
mov rax, qword [r13 + 0x68]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140070660
jmp 0x14008e911
xor ebp, ebp
lea rsi, str.Connection:
mov edi, listen
cmp byte [r14 + 0x1e4], bpl
jne 0x14008e13d
cmp byte [r14 + 0x9b3], bpl
jne 0x14008e0b6
cmp r12, 0xf
jb 0x14008e0b6
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, str.Content_Length:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008df68
test r8, r8
je 0x14008df8b
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e0b6
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008df33
test r8, r8
je 0x14008df8b
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e0b6
lea rbx, [r15 + 0xf]
test rbx, rbx
je 0x14008e0b6
mov qword [rsp + 0x70], rbp
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], ebp
movzx eax, byte [rbx]
test al, al
je 0x14008dfc6
nop dword [rax]
cmp al, 0x20
je 0x14008dfbb
movzx eax, byte [rbx]
cmp al, 9
jne 0x14008dfc6
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14008dfb0
cmp al, 0x2d
je 0x14008e09d
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14008e09d
sub al, 9
cmp al, 4
jbe 0x14008e09d
mov r8d, 0xa
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0x22
jne 0x14008e081
cmp qword [r14 + 0x6f0], rbp
je 0x14008e027
lea rdx, str.Maximum_file_size_exceeded
mov rcx, r14
call fcn.140077850
mov eax, 0x3f
jmp 0x14008e911
test r13, r13
je 0x14008e059
mov rcx, qword [r13 + 0x268]
test rcx, rcx
je 0x14008e059
nop dword [rax + rax]
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14008e06b
test dl, 3
jne 0x14008e059
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14008e040
mov al, 1
cmp al, byte [r13 + 0x3bd]
je 0x14008e06b
mov byte [r13 + 0x3bd], al
lea rdx, str.Overflow_Content_Length:_value
mov rcx, r14
call fcn.140077a60
xor eax, eax
jmp 0x14008e911
cmp rbx, qword [rsp + 0x70]
je 0x14008e09d
mov qword [r14 + 0x100], rdi
xor eax, eax
mov qword [r14 + 0x108], rdi
jmp 0x14008e911
lea rdx, str.Invalid_Content_Length:_value
mov rcx, r14
call fcn.140077850
mov eax, 8
jmp 0x14008e911
cmp qword [r14 + 0x808], rbp
je 0x14008e13d
cmp r12, 0x11
jb 0x14008e13d
mov ebx, send
lea rdx, str.Content_Encoding:
mov r8, r15
movzx eax, byte [r8]
test al, al
je 0x14008e105
test rbx, rbx
je 0x14008e124
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e147
inc rdx
dec rbx
inc r8
cmp byte [rdx], bpl
jne 0x14008e0d4
test rbx, rbx
je 0x14008e124
movzx eax, byte [r8]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e147
lea rdx, [r15 + 0x11]
test rdx, rdx
je 0x14008e147
xor r8d, r8d
mov rcx, r14
call fcn.14007a5f0
jmp 0x14008e911
cmp r12, 0xd
jb 0x14008e1f4
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.Content_Type:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008e188
test r8, r8
je 0x14008e1a7
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e1f4
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008e157
test r8, r8
je 0x14008e1a7
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e1f4
lea rax, [r15 + 0xd]
test rax, rax
je 0x14008e1fd
mov rcx, r15
call fcn.140088a80
mov rbx, rax
test rax, rax
je 0x14008f5e0
cmp byte [rax], bpl
jne 0x14008e1d9
mov rcx, rax
call qword [0x1401630a8]
xor eax, eax
jmp 0x14008e911
mov rcx, qword [r14 + 0x1270]
call qword [0x1401630a8]
xor eax, eax
mov qword [r14 + 0x1270], rbx
jmp 0x14008e911
cmp r12, rdi
jb 0x14008e3ff
mov r8, rdi
mov r9, r15
mov rdx, rsi
movzx eax, byte [r9]
test al, al
je 0x14008e23b
test r8, r8
je 0x14008e25e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e3ff
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008e206
test r8, r8
je 0x14008e25e
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e3ff
cmp r12, 0x10
jbe 0x14008e3ff
mov r8, rdi
mov r9, rsi
mov rdx, r15
test r10b, r10b
je 0x14008e2b0
movzx eax, byte [r9]
test al, al
je 0x14008e2ab
test r8, r8
je 0x14008e2ce
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e3ff
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008e276
test r8, r8
je 0x14008e2ce
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e3ff
movzx ecx, byte [r15 + 0xb]
lea rbx, [r15 + 0xb]
test cl, cl
je 0x14008e2fd
movzx eax, cl
nop
cmp cl, 0x20
je 0x14008e2ef
cmp al, 9
je 0x14008e2ef
sub al, 0xa
cmp al, 3
ja 0x14008e2fd
movzx eax, byte [rbx + 1]
inc rbx
movzx ecx, al
test al, al
jne 0x14008e2e0
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008e337
mov edx, 0xa
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008e337
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rbx
cmp r10, 5
jb 0x14008e3f8
mov r11d, 5
nop word [rax + rax]
test rbx, rbx
je 0x14008e3e9
lea r9, str.close
mov r8, r11
mov rdx, rbx
cmp byte [rbx], bpl
je 0x14008e3bd
nop dword [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14008e3ad
test r8, r8
je 0x14008e3b2
movzx ecx, byte [rdx]
lea r13, [0x140000000]
movzx eax, byte [rax + r13 + 0x147570]
cmp byte [rcx + r13 + 0x147570], al
mov r13, qword [rsp + 0x70]
jne 0x14008e3b9
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008e370
test r8, r8
jne 0x14008e3bd
mov edx, 1
jmp 0x14008e3e1
mov edx, ebp
jmp 0x14008e3e1
movzx ecx, byte [rdx]
lea r8, [0x140000000]
movzx eax, byte [r9]
mov edx, ebp
movzx eax, byte [rax + r8 + 0x147570]
cmp byte [rcx + r8 + 0x147570], al
sete dl
test edx, edx
jne 0x14008e5cd
dec r10
inc rbx
cmp r10, r11
jae 0x14008e350
lea r11, [0x140000000]
cmp byte [r13 + 0x6c4], 0xa
jne 0x14008e653
cmp r12, rdi
jb 0x14008e653
mov r8, rdi
mov r9, r15
mov rdx, rsi
nop
movzx eax, byte [r9]
test al, al
je 0x14008e455
test r8, r8
je 0x14008e478
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e653
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008e420
test r8, r8
je 0x14008e478
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e653
cmp r12, 0x15
jbe 0x14008e653
mov rdx, r15
cmp byte [r15], bpl
je 0x14008e4c9
nop word [rax + rax]
movzx eax, byte [rsi]
test al, al
je 0x14008e4c4
test rdi, rdi
je 0x14008e4e6
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e653
inc rdx
dec rdi
inc rsi
cmp byte [rdx], bpl
jne 0x14008e490
test rdi, rdi
je 0x14008e4e6
movzx eax, byte [rsi]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e653
movzx ecx, byte [r15 + 0xb]
lea rbx, [r15 + 0xb]
test cl, cl
je 0x14008e513
movzx eax, cl
cmp cl, 0x20
je 0x14008e505
cmp al, 9
je 0x14008e505
sub al, 0xa
cmp al, 3
ja 0x14008e513
movzx eax, byte [rbx + 1]
inc rbx
movzx ecx, al
test al, al
jne 0x14008e4f6
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008e54d
mov edx, 0xa
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008e54d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rbx
cmp r10, 0xa
jb 0x14008e653
nop word [rax + rax]
test rbx, rbx
je 0x14008e643
lea r9, str.keep_alive
mov r8d, 0xa
lea r11, [0x140000000]
mov rdx, rbx
cmp byte [rbx], bpl
je 0x14008e61e
nop dword [rax]
movzx eax, byte [r9]
test al, al
je 0x14008e5c1
test r8, r8
je 0x14008e5c6
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e61a
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008e590
test r8, r8
jne 0x14008e61e
mov edx, 1
jmp 0x14008e63b
test r13, r13
je 0x14008e5fd
mov rcx, qword [r13 + 0x268]
test rcx, rcx
je 0x14008e5fd
nop
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14008f4b7
test dl, 3
jne 0x14008e5fd
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14008e5e0
mov al, 1
cmp al, byte [r13 + 0x3bd]
je 0x14008f4b7
mov byte [r13 + 0x3bd], al
xor eax, eax
jmp 0x14008e911
mov edx, ebp
jmp 0x14008e63b
movzx ecx, byte [rdx]
mov edx, ebp
movzx eax, byte [r9]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
sete dl
test edx, edx
jne 0x14008e6fd
dec r10
inc rbx
cmp r10, 0xa
jae 0x14008e560
cmp byte [r14 + 0x1e4], bpl
jne case.0x14008ddfc.66
cmp r12, 0xe
jb case.0x14008ddfc.66
mov edx, recv
lea r8, str.Content_Range:
mov r9, r15
lea r10, [0x140000000]
movzx eax, byte [r9]
test al, al
je 0x14008e6b6
test rdx, rdx
je 0x14008e6da
movzx ecx, byte [r8]
movzx eax, byte [rax + r10 + 0x147570]
cmp byte [rcx + r10 + 0x147570], al
jne case.0x14008ddfc.66
inc r8
dec rdx
inc r9
cmp byte [r8], bpl
jne 0x14008e680
test rdx, rdx
je 0x14008e6da
movzx eax, byte [r9]
movzx ecx, byte [r8]
movzx eax, byte [rax + r10 + 0x147570]
cmp byte [rcx + r10 + 0x147570], al
jne case.0x14008ddfc.66
lea rcx, [r15 + 0xe]
test rcx, rcx
je case.0x14008ddfc.66
movzx eax, byte [rcx]
test al, al
je 0x14008e732
nop
cmp al, 0x30
movzx eax, byte [rcx]
jl 0x14008e723
cmp al, 0x39
jle 0x14008e732
jmp 0x14008e727
cmp byte [r13 + 0x3bd], bpl
je 0x14008e70d
mov byte [r13 + 0x3bd], bpl
lea rdx, str.HTTP_1.0_connection_set_to_keep_alive
mov rcx, r14
call fcn.140077a60
xor eax, eax
jmp 0x14008e911
cmp al, 0x2a
je 0x14008e732
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14008e6f0
cmp al, 0x30
jl 0x14008e778
cmp byte [rcx], 0x39
jg 0x14008e778
lea r9, [r14 + 0x140]
xor edx, edx
mov r8d, 0xa
call fcn.140097150
test eax, eax
jne case.0x14008ddfc.66
mov rax, qword [r14 + 0x140]
cmp qword [r14 + 0x1068], rax
jne case.0x14008ddfc.66
mov byte [r14 + 0x1db], 1
jmp case.0x14008ddfc.66
cmp dword [r14 + 0x14c], 0x12c
jge case.0x14008ddfc.66
mov qword [r14 + 0x1068], rbp
jmp case.0x14008ddfc.66
cmp byte [r14 + 0x1e4], 0
jne 0x14008e858
cmp byte [r14 + 0x530], 0
jne 0x14008e7bb
cmp byte [r14 + 0x9a0], 0
je 0x14008e858
cmp r12, 0xe
jb 0x14008e858
mov edx, recv
lea r8, str.Last_Modified:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008e807
test rdx, rdx
je 0x14008e827
movzx ecx, byte [r8]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e858
inc r8
dec rdx
inc r9
cmp byte [r8], 0
jne 0x14008e7d4
test rdx, rdx
je 0x14008e827
movzx eax, byte [r9]
movzx ecx, byte [r8]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008e858
lea rcx, [r15 + 0xe]
test rcx, rcx
je 0x14008e858
call fcn.140097c30
mov qword [r14 + 0x1b0], rax
cmp byte [r14 + 0x9a0], 0
je 0x14008f4b7
mov qword [r14 + 0x1250], rax
xor eax, eax
jmp 0x14008e911
mov eax, dword [r14 + 0x14c]
sub eax, 0x12c
cmp eax, 0x63
ja case.0x14008ddfc.66
cmp r12, 9
jb case.0x14008ddfc.66
mov r8d, 9
lea rdx, str.Location:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008e8b8
test r8, r8
je 0x14008e8d7
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14008e887
test r8, r8
je 0x14008e8d7
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
cmp qword [r14 + 0x1b8], 0
jne case.0x14008ddfc.66
mov rcx, r15
call fcn.140088a80
test rax, rax
je 0x14008f5e0
cmp byte [rax], 0
jne 0x14008e92f
mov rcx, rax
call qword [0x1401630a8]
mov rax, qword [r13 + 0x3d8]
movzx eax, word [rax + 0x8e]
and eax, 4
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp byte [r14 + 0x9a7], 0
mov qword [r14 + 0x1b8], rax
je case.0x14008ddfc.66
mov rcx, rax
call qword [case.0x140071f61.0]
mov qword [r14 + 0x1c0], rax
test rax, rax
je 0x14008f5e0
mov rdx, r13
mov rcx, r14
call fcn.140088c40
test eax, eax
jne 0x14008e911
mov byte [r14 + 0x122d], 1
jmp case.0x14008ddfc.66
cmp r12, 0x11
jb 0x14008ee3c
mov ebx, send
lea rsi, str.Proxy_Connection:
mov r8d, ebx
mov rdx, rsi
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008e9c6
test r8, r8
je 0x14008e9e9
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ee3c
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14008e991
test r8, r8
je 0x14008e9e9
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ee3c
lea rax, [r15 + 0x11]
test rax, rax
je 0x14008ee3c
xor ebp, ebp
cmp byte [r13 + 0x6c4], 0xa
jne 0x14008ec22
cmp byte [r13 + 0x3b8], bpl
je 0x14008ec22
mov r8, rbx
mov r9, r15
mov rdx, rsi
nop dword [rax]
movzx eax, byte [r9]
test al, al
je 0x14008ea55
test r8, r8
je 0x14008ea78
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ec22
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008ea20
test r8, r8
je 0x14008ea78
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ec22
cmp r12, 0x1b
jbe 0x14008ec22
mov r8, rbx
mov r9, rsi
mov rdx, r15
cmp byte [r15], bpl
je 0x14008eaca
movzx eax, byte [r9]
test al, al
je 0x14008eac5
test r8, r8
je 0x14008eae8
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ec22
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008ea90
test r8, r8
je 0x14008eae8
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ec22
movzx ecx, byte [r15 + 0x11]
lea rdi, [r15 + 0x11]
test cl, cl
je 0x14008eb15
movzx eax, cl
cmp cl, 0x20
je 0x14008eb07
cmp al, 9
je 0x14008eb07
sub al, 0xa
cmp al, 3
ja 0x14008eb15
movzx eax, byte [rdi + 1]
inc rdi
movzx ecx, al
test al, al
jne 0x14008eaf8
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008eb4f
mov edx, 0xa
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008eb4f
xor edx, edx
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rdi
cmp r10, 0xa
jb 0x14008ec1b
nop dword [rax]
lea r11, [0x140000000]
test rdi, rdi
je 0x14008ebe3
lea r9, str.keep_alive
mov r8d, 0xa
mov rdx, rdi
cmp byte [rdi], bpl
je 0x14008ebc2
movzx eax, byte [r9]
test al, al
je 0x14008ebb2
test r8, r8
je 0x14008ebb7
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008ebbe
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008eb81
test r8, r8
jne 0x14008ebc2
mov edx, 1
jmp 0x14008ebdf
mov edx, ebp
jmp 0x14008ebdf
movzx ecx, byte [rdx]
mov edx, ebp
movzx eax, byte [r9]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
sete dl
test edx, edx
jne 0x14008ebf5
dec r10
inc rdi
cmp r10, 0xa
jae 0x14008eb60
jmp 0x14008ec22
cmp byte [r13 + 0x3bd], bpl
je 0x14008ec05
mov byte [r13 + 0x3bd], bpl
lea rdx, str.HTTP_1.0_proxy_connection_set_to_keep_alive
mov rcx, r14
call fcn.140077a60
xor eax, eax
jmp 0x14008e911
lea r11, [0x140000000]
cmp byte [r13 + 0x6c4], 0xb
jne 0x14008f4b7
cmp byte [r13 + 0x3b8], bpl
je 0x14008f4b7
mov r8, rbx
mov r9, r15
mov rdx, rsi
movzx eax, byte [r9]
test al, al
je 0x14008ec7b
test r8, r8
je 0x14008ec9e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f4b7
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008ec46
test r8, r8
je 0x14008ec9e
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f4b7
cmp r12, 0x16
jbe 0x14008f4b7
mov rdx, r15
cmp byte [r15], bpl
je 0x14008ece9
movzx eax, byte [rsi]
test al, al
je 0x14008ece4
test rbx, rbx
je 0x14008ed06
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f4b7
inc rdx
dec rbx
inc rsi
cmp byte [rdx], bpl
jne 0x14008ecb0
test rbx, rbx
je 0x14008ed06
movzx eax, byte [rsi]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f4b7
movzx ecx, byte [r15 + 0x11]
lea rbx, [r15 + 0x11]
test cl, cl
je 0x14008ed33
movzx eax, cl
cmp cl, 0x20
je 0x14008ed25
cmp al, 9
je 0x14008ed25
sub al, 0xa
cmp al, 3
ja 0x14008ed33
movzx eax, byte [rbx + 1]
inc rbx
movzx ecx, al
test al, al
jne 0x14008ed16
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008ed6d
mov edx, 0xa
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14008ed6d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rbx
cmp r10, 5
jb 0x14008f4b7
mov r11d, 5
test rbx, rbx
je 0x14008edfe
lea r9, str.close
mov r8, r11
lea rdi, [0x140000000]
mov rdx, rbx
cmp byte [rbx], bpl
je 0x14008eddf
nop
movzx eax, byte [r9]
test al, al
je 0x14008edcf
test r8, r8
je 0x14008edd4
movzx ecx, byte [rdx]
movzx eax, byte [rax + rdi + 0x147570]
cmp byte [rcx + rdi + 0x147570], al
jne 0x14008eddb
inc rdx
dec r8
inc r9
cmp byte [rdx], bpl
jne 0x14008eda0
test r8, r8
jne 0x14008eddf
mov edx, 1
jmp 0x14008edfa
mov edx, ebp
jmp 0x14008edfa
movzx ecx, byte [rdx]
mov edx, ebp
movzx eax, byte [r9]
movzx eax, byte [rax + rdi + 0x147570]
cmp byte [rcx + rdi + 0x147570], al
sete dl
test edx, edx
jne 0x14008ee14
dec r10
inc rbx
cmp r10, r11
jae 0x14008ed80
xor eax, eax
jmp 0x14008e911
cmp byte [r13 + 0x3bd], 1
je 0x14008ee26
mov byte [r13 + 0x3bd], 1
lea rdx, str.HTTP_1.1_proxy_connection_set_close
mov rcx, r14
call fcn.140077a60
xor eax, eax
jmp 0x14008e911
cmp dword [r14 + 0x14c], 0x197
jne 0x14008eeea
cmp r12, 0x13
jb 0x14008eeea
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Proxy_authenticate:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008ee98
test r8, r8
je 0x14008eeb7
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008eef4
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14008ee67
test r8, r8
je 0x14008eeb7
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008eef4
mov rcx, r15
call fcn.140088a80
mov rdi, rax
test rax, rax
je 0x14008f5e0
mov dl, 1
mov r8, rdi
mov rcx, r14
call fcn.140089890
mov rcx, rdi
mov ebx, eax
call qword [0x1401630a8]
mov eax, ebx
jmp 0x14008e911
cmp r12, 0x10
jb case.0x14008ddfc.66
mov r9d, reloc.WS2_32.dll_recv
lea rdx, str.Persistent_Auth:
mov r8, r15
movzx eax, byte [r8]
test al, al
je 0x14008ef39
test r9, r9
je 0x14008ef5c
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
inc rdx
dec r9
inc r8
cmp byte [rdx], 0
jne 0x14008ef04
test r9, r9
je 0x14008ef5c
movzx eax, byte [r8]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
cmp dword [r14 + 0xc5c], 4
jne case.0x14008ddfc.66
mov rcx, r15
call fcn.140088a80
mov rbx, rax
test rax, rax
je 0x14008f5e0
cmp byte [rax], 0
lea r8, str.false
mov r11d, 5
mov rdx, rax
je 0x14008efe1
lea r9, [0x140000000]
nop word [rax + rax]
movzx ecx, byte [r8]
test cl, cl
je 0x14008efd1
test r11, r11
je 0x14008efd6
movzx eax, byte [rcx + r9 + 0x147570]
movzx ecx, byte [rdx]
cmp byte [rcx + r9 + 0x147570], al
jne 0x14008efdd
inc rdx
dec r11
inc r8
cmp byte [rdx], 0
jne 0x14008efa0
test r11, r11
jne 0x14008efe1
mov ebp, 1
jmp 0x14008f004
xor ebp, ebp
jmp 0x14008f004
movzx ecx, byte [rdx]
xor ebp, ebp
movzx eax, byte [r8]
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x147570]
cmp byte [rcx + rdx + 0x147570], al
sete bpl
movzx r8d, bpl
lea rdx, str.Negotiate:_noauthpersist_____d__header_part:__s
mov r9, rbx
mov byte [r13 + 0x608], r8b
mov rcx, r14
mov byte [r13 + 0x609], 1
call fcn.140077a60
mov rcx, rbx
jmp 0x14008e8fa
cmp r12, 0xc
jb case.0x14008ddfc.66
mov r8d, recv
lea rdx, str.Retry_After:
mov r9, r15
nop dword [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14008f085
test r8, r8
je 0x14008f0a8
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14008f050
test r8, r8
je 0x14008f0a8
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
lea rdi, [r15 + 0xc]
test rdi, rdi
je case.0x14008ddfc.66
xor ebp, ebp
mov rbx, rdi
mov qword [rsp + 0x70], rbp
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], ebp
movzx eax, byte [rdi]
test al, al
je 0x14008f0e6
nop
cmp al, 0x20
je 0x14008f0db
movzx eax, byte [rbx]
cmp al, 9
jne 0x14008f0e6
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14008f0d0
cmp al, 0x2d
je 0x14008f128
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14008f128
sub al, 9
cmp al, 4
jbe 0x14008f128
mov r8d, 0xa
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
mov rsi, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0x22
je 0x14008f128
cmp rbx, qword [rsp + 0x70]
je 0x14008f128
mov rbp, rsi
test rsi, rsi
jne 0x14008f147
mov rcx, rdi
call fcn.140097c30
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14008f147
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rbp, rbx
sub rbp, rax
mov qword [r14 + 0x1280], rbp
xor eax, eax
jmp 0x14008e911
cmp qword [r14 + 0x9d0], 0
je 0x14008f303
cmp byte [r14 + 0x1237], 0
je 0x14008f303
cmp r12, 0xb
jb 0x14008f303
mov edi, listen
lea rdx, str.Set_Cookie:
mov r8, r15
nop word [rax + rax]
movzx eax, byte [r8]
test al, al
je 0x14008f1c5
test rdi, rdi
je 0x14008f1e8
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f303
inc rdx
dec rdi
inc r8
cmp byte [rdx], 0
jne 0x14008f190
test rdi, rdi
je 0x14008f1e8
movzx eax, byte [r8]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f303
lea rsi, [r15 + 0xb]
test rsi, rsi
je 0x14008f303
mov rbx, qword [r14 + 0x11f0]
test rbx, rbx
jne 0x14008f205
mov rbx, qword [r13 + 0x68]
mov rax, qword [r13 + 0x3d8]
test dword [rax + 0x8c], 0x80000002
jne 0x14008f2a3
xor ebp, ebp
test rbx, rbx
je 0x14008f275
mov r8, rbx
lea rdx, str.localhost
nop dword [rax]
movzx eax, byte [r8]
test al, al
je 0x14008f261
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f2f7
inc rdx
inc r8
cmp byte [rdx], bpl
jne 0x14008f230
movzx eax, byte [r8]
test al, al
mov ecx, ebp
mov eax, ebp
setne cl
cmp byte [rdx], al
sete al
xor ecx, eax
test ecx, ecx
jne 0x14008f2a3
lea rdx, str.127.0.0.1
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14008f2a3
lea rcx, [0x1401529d4]
nop
movzx eax, byte [rbx + rbp]
inc rbp
cmp al, byte [rcx + rbp - 1]
jne 0x14008f2fe
cmp rbp, 4
jne 0x14008f290
mov dil, 1
mov edx, 2
mov rcx, r14
call fcn.14007a0a0
mov rax, qword [r14 + 0x10c0]
xor r9d, r9d
mov rdx, qword [r14 + 0x9d0]
mov r8b, 1
mov byte [rsp + 0x38], dil
mov rcx, r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
call fcn.14006cf00
mov edx, 2
mov rcx, r14
call fcn.14007a0e0
xor eax, eax
jmp 0x14008e911
mov ecx, ebp
jmp 0x14008f271
xor dil, dil
jmp 0x14008f2a6
cmp qword [r14 + 0x9d8], 0
je case.0x14008ddfc.66
mov rax, qword [r13 + 0x3d8]
test byte [rax + 0x94], 1
je case.0x14008ddfc.66
cmp r12, 0x1a
jb case.0x14008ddfc.66
mov r8d, 0x1a
lea rdx, str.Strict_Transport_Security:
mov r9, r15
nop
movzx eax, byte [r9]
test al, al
je 0x14008f375
test r8, r8
je 0x14008f398
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14008f340
test r8, r8
je 0x14008f398
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
lea r8, [r15 + 0x1a]
test r8, r8
je case.0x14008ddfc.66
mov rdx, qword [r13 + 0x68]
mov rcx, qword [r14 + 0x9d8]
call fcn.140076920
test eax, eax
je case.0x14008ddfc.66
lea rdx, str.Illegal_STS_header_skipped
mov rcx, r14
call fcn.140077a60
jmp case.0x14008ddfc.66
cmp byte [r14 + 0x1e4], 0
jne 0x14008f4be
cmp byte [r14 + 0x122a], 5
je 0x14008f4be
cmp dword [r14 + 0x14c], 0x130
je 0x14008f4be
cmp r12, 0x12
jb 0x14008f4be
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Transfer_Encoding:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008f44d
test r8, r8
je 0x14008f46c
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f4c8
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14008f418
test r8, r8
je 0x14008f46c
movzx eax, byte [r9]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne 0x14008f4c8
lea rdx, [r15 + 0x12]
test rdx, rdx
je 0x14008f4c8
mov r8d, 1
mov rcx, r14
call fcn.14007a5f0
test eax, eax
jne 0x14008e911
cmp byte [r14 + 0x1e5], al
jne 0x14008f4b7
cmp byte [r14 + 0x9a8], al
je 0x14008f4b7
cmp byte [r13 + 0x3bd], 1
je 0x14008f4af
mov byte [r13 + 0x3bd], 1
mov byte [r14 + 0x1e7], 1
xor eax, eax
jmp 0x14008e911
cmp r12, 8
jb case.0x14008ddfc.66
mov edx, 8
lea r8, str.Trailer:
mov r9, r15
movzx eax, byte [r9]
test al, al
je 0x14008f50e
test rdx, rdx
je 0x14008f532
movzx ecx, byte [r8]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
inc r8
dec rdx
inc r9
cmp byte [r8], 0
jne 0x14008f4d7
test rdx, rdx
je 0x14008f532
movzx eax, byte [r9]
movzx ecx, byte [r8]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
lea rax, [r15 + 8]
test rax, rax
je case.0x14008ddfc.66
mov byte [r14 + 0x1e6], 1
xor eax, eax
jmp 0x14008e911
cmp dword [r14 + 0x14c], 0x191
jne case.0x14008ddfc.66
cmp r12, 0x11
jb case.0x14008ddfc.66
mov ebx, send
lea rdx, str.WWW_Authenticate:
mov r8, r15
movzx eax, byte [r8]
test al, al
je 0x14008f5ad
test rbx, rbx
je 0x14008f5d0
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
inc rdx
dec rbx
inc r8
cmp byte [rdx], 0
jne 0x14008f578
test rbx, rbx
je 0x14008f5d0
movzx eax, byte [r8]
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11 + 0x147570]
cmp byte [rcx + r11 + 0x147570], al
jne case.0x14008ddfc.66
mov rcx, r15
call fcn.140088a80
mov rdi, rax
test rax, rax
jne 0x14008f5ea
mov eax, 0x1b
jmp 0x14008e911
xor edx, edx
jmp 0x14008eecd