Function at 0x14015b5e0
Capabilities:
Check http status code

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
lea r12, [0x140269d90]
mov rbp, r9
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov edi, reloc.WS2_32.dll_recvfrom
test r9, r9
je 0x14015b69a
cmp byte [rbp], 0
lea r9, str.WWW_Authenticate:
mov r10d, edi
mov r8, rbp
je 0x14015b66b
nop
movzx eax, byte [r9]
test al, al
je 0x14015b65b
test r10, r10
je 0x14015b660
movzx ecx, byte [r8]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015b667
inc r8
dec r10
inc r9
cmp byte [r8], 0
jne 0x14015b630
test r10, r10
jne 0x14015b66b
mov edx, 1
jmp 0x14015b681
xor edx, edx
jmp 0x14015b681
movzx eax, byte [r9]
xor edx, edx
movzx ecx, byte [r8]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015b69a
mov ebx, dword [r15 + 0x138]
cmp ebx, 0x191
je 0x14015b721
jmp 0x14015b6a3
test rbp, rbp
je 0x14015bd26
cmp byte [rbp], 0
lea r9, str.Proxy_authenticate:
mov r8d, reloc.WS2_32.dll_send
mov rdx, rbp
je 0x14015b6f9
nop dword [rax]
movzx eax, byte [r9]
test al, al
je 0x14015b6e9
test r8, r8
je 0x14015b6ee
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015b6f5
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015b6c0
test r8, r8
jne 0x14015b6f9
mov edx, 1
jmp 0x14015b70e
xor edx, edx
jmp 0x14015b70e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015b77c
mov ebx, dword [r15 + 0x138]
cmp ebx, 0x197
jne 0x14015b785
mov rcx, rbp
call fcn.1401267b0
mov rdi, rax
test rax, rax
jne 0x14015b739
lea eax, [rdi + 0x1b]
jmp 0x14015bda0
mov r9, rbp
lea r8, str.CONNECT:_fwd_auth_header__s
mov rdx, rsi
mov rcx, r15
call fcn.140115a70
cmp ebx, 0x197
mov r8, rdi
mov rcx, r15
sete dl
call fcn.140127640
mov rcx, rdi
mov ebx, eax
call qword [fcn.14016c458]
test ebx, ebx
je 0x14015bd9e
mov eax, ebx
jmp 0x14015bda0
test rbp, rbp
je 0x14015bd26
cmp byte [rbp], 0
lea r9, str.Content_Length:
mov r8d, reloc.WS2_32.dll_ntohs
mov rdx, rbp
je 0x14015b7d9
nop dword [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14015b7c9
test r8, r8
je 0x14015b7ce
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015b7d5
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015b7a0
test r8, r8
jne 0x14015b7d9
mov edx, 1
jmp 0x14015b7ee
xor edx, edx
jmp 0x14015b7ee
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015b834
mov r8d, dword [r15 + 0x138]
lea eax, [r8 - 0xc8]
cmp eax, 0x64
jae 0x14015b819
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response
mov rcx, r15
call fcn.140115960
jmp 0x14015bd9e
xor edx, edx
lea r9, [r14 + 0xb0]
lea rcx, [rbp + 0xf]
lea r8d, [rdx + 0xa]
call fcn.140136540
jmp 0x14015bd9e
cmp byte [rbp], 0
lea r9, str.Connection:
mov r8d, recv
mov rdx, rbp
je 0x14015b889
nop word [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14015b879
test r8, r8
je 0x14015b87e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015b885
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015b850
test r8, r8
jne 0x14015b889
mov edx, 1
jmp 0x14015b89e
xor edx, edx
jmp 0x14015b89e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015b996
movzx eax, byte [rbp + 0xb]
lea rbx, [rbp + 0xb]
test al, al
je 0x14015b8cb
cmp al, 0x20
je 0x14015b8c0
cmp al, 9
je 0x14015b8c0
sub al, 0xa
cmp al, 3
ja 0x14015b8cb
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14015b8b2
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14015b903
lea edx, [rax + 0xa]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14015b903
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rbx
cmp r10, 5
jb 0x14015b996
test rbx, rbx
je 0x14015b986
cmp byte [rbx], 0
lea r9, str.close
mov r8d, 5
mov rdx, rbx
je 0x14015b969
nop word [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14015b959
test r8, r8
je 0x14015b95e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015b965
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015b930
test r8, r8
jne 0x14015b969
mov edx, 1
jmp 0x14015b97e
xor edx, edx
jmp 0x14015b97e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
jne 0x14015bdbf
dec r10
inc rbx
cmp r10, 5
jae 0x14015b910
cmp byte [rbp], 0
lea r9, str.Transfer_Encoding:
mov r8d, reloc.WS2_32.dll_select
mov r11, r9
mov r10d, r8d
mov rdx, rbp
je 0x14015b9eb
movzx eax, byte [r11]
test al, al
je 0x14015b9db
test r10, r10
je 0x14015b9e0
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015b9e7
inc rdx
dec r10
inc r11
cmp byte [rdx], 0
jne 0x14015b9b2
test r10, r10
jne 0x14015b9eb
mov edx, 1
jmp 0x14015ba00
xor edx, edx
jmp 0x14015ba00
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r11]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015bbcd
mov ecx, dword [r15 + 0x138]
lea eax, [rcx - 0xc8]
cmp eax, 0x64
jae 0x14015ba31
mov r8d, ecx
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response
mov rcx, r15
call fcn.140115960
jmp 0x14015bd9e
cmp byte [rbp], 0
mov rdx, rbp
je 0x14015ba79
nop word [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14015ba69
test r8, r8
je 0x14015ba6e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015ba75
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015ba40
test r8, r8
jne 0x14015ba79
mov edx, 1
jmp 0x14015ba8e
xor edx, edx
jmp 0x14015ba8e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015bd9e
movzx eax, byte [rbp + 0x12]
lea rbx, [rbp + 0x12]
test al, al
je 0x14015babb
cmp al, 0x20
je 0x14015bab0
cmp al, 9
je 0x14015bab0
sub al, 0xa
cmp al, 3
ja 0x14015babb
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14015baa2
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14015baf3
lea edx, [rax + 0xa]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14015baf3
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rbx
cmp r10, 7
jb 0x14015bd9e
test rbx, rbx
je 0x14015bb72
cmp byte [rbx], 0
lea r9, str.chunked
mov r8d, 7
mov rdx, rbx
je 0x14015bb59
nop word [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14015bb49
test r8, r8
je 0x14015bb4e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015bb55
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015bb20
test r8, r8
jne 0x14015bb59
mov edx, 1
jmp 0x14015bb6e
xor edx, edx
jmp 0x14015bb6e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
jne 0x14015bb83
dec r10
inc rbx
cmp r10, 7
jae 0x14015bb00
jmp 0x14015bd9e
lea rdx, str.CONNECT_responded_chunked
mov rcx, r15
call fcn.140115960
mov byte [r14 + 0xbc], 1
mov byte [r14 + 0x90], 0
mov qword [r14 + 0x68], 0
cmp qword [r14 + 0x78], 0
je 0x14015bbb8
mov rax, qword [r14 + 0x70]
mov byte [rax], 0
mov qword [r14 + 0x78], 0
mov byte [r14 + 0xa2], 1
jmp 0x14015bd9e
cmp byte [rbp], 0
lea r8, str.Proxy_Connection:
mov rdx, rbp
je 0x14015bc19
nop dword [rax]
movzx eax, byte [r8]
test al, al
je 0x14015bc09
test rdi, rdi
je 0x14015bc0e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015bc15
inc rdx
dec rdi
inc r8
cmp byte [rdx], 0
jne 0x14015bbe0
test rdi, rdi
jne 0x14015bc19
mov edx, 1
jmp 0x14015bc2e
xor edx, edx
jmp 0x14015bc2e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r8]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
je 0x14015bd26
movzx eax, byte [rbp + 0x11]
lea rbx, [rbp + 0x11]
test al, al
je 0x14015bc5b
cmp al, 0x20
je 0x14015bc50
cmp al, 9
je 0x14015bc50
sub al, 0xa
cmp al, 3
ja 0x14015bc5b
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14015bc42
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14015bc93
lea edx, [rax + 0xa]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
test rax, rax
jne 0x14015bc93
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r10, rax
sub r10, rbx
cmp r10, 5
jb 0x14015bd26
test rbx, rbx
je 0x14015bd16
cmp byte [rbx], 0
lea r9, str.close
mov r8d, 5
mov rdx, rbx
je 0x14015bcf9
nop word [rax + rax]
movzx eax, byte [r9]
test al, al
je 0x14015bce9
test r8, r8
je 0x14015bcee
movzx ecx, byte [rdx]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
jne 0x14015bcf5
inc rdx
dec r8
inc r9
cmp byte [rdx], 0
jne 0x14015bcc0
test r8, r8
jne 0x14015bcf9
mov edx, 1
jmp 0x14015bd0e
xor edx, edx
jmp 0x14015bd0e
movzx ecx, byte [rdx]
xor edx, edx
movzx eax, byte [r9]
movzx eax, byte [rax + r12]
cmp byte [rcx + r12], al
sete dl
test edx, edx
jne 0x14015bdbf
dec r10
inc rbx
cmp r10, 5
jae 0x14015bca0
mov r8d, 7
lea rdx, str.HTTP_1.
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14015bd9e
movzx eax, byte [rbp + 7]
sub al, 0x30
cmp al, 1
ja 0x14015bd9e
cmp byte [rbp + 8], 0x20
jne 0x14015bd9e
movsx ecx, byte [rbp + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14015bd9e
movsx edx, byte [rbp + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14015bd9e
movsx r8d, byte [rbp + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14015bd9e
movzx eax, byte [rbp + 0xc]
sub al, 0x30
cmp al, 9
jbe 0x14015bd9e
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [r15 + 0x138], ecx
mov dword [r15 + 0x1324], ecx
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov byte [r14 + 0xbd], 1
jmp 0x14015bd9e