Function at 0x14008a3b0
Capabilities:
Check http status code

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, rcx
mov rdi, rdx
mov rbp, r8
mov r13, r9
test byte [rcx + 0x1d4], 1
jne 0x14008a3f8
mov qword [r9], 0
xor edx, edx
mov eax, edx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rcx + 0x20]
mov qword [r9], 0
lea r14, [rcx + 0xbe0]
mov qword [rsp + 0x20], rax
mov r8, rbp
mov edx, 0xa
mov rcx, rdi
call sym.memchr
mov rsi, rax
test rax, rax
je 0x14008adf8
sub rsi, rdi
mov rdx, rdi
mov rcx, r14
add rsi, 1
mov r8, rsi
call sym.Curl_dyn_addn
mov edx, eax
test eax, eax
jne 0x14008a3de
mov eax, dword [rbx + 0x12c]
add qword [r13], rsi
sub rbp, rsi
test eax, eax
jne 0x14008a485
mov rcx, r14
call sym.Curl_dyn_len
mov rcx, r14
mov r12, rax
call sym.Curl_dyn_ptr
mov rcx, qword [rbx + 0x6c0]
mov r8, r12
mov rdx, rax
call sym.checkhttpprefix.isra.0
cmp eax, 2
je 0x14008af17
mov rcx, r14
call sym.Curl_dyn_ptr
mov rcx, r14
mov r12, rax
call sym.Curl_dyn_len
mov r15, rax
movzx eax, byte [r12]
cmp al, 0xa
sete dl
cmp al, 0xd
sete al
or dl, al
mov byte [rsp + 0x28], dl
jne 0x14008a5e0
mov eax, dword [rbx + 0x12c]
lea edx, [rax + 1]
mov dword [rbx + 0x12c], edx
test eax, eax
jne 0x14008a8b0
mov dword [rbx + 0x138], 0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x348]
mov eax, dword [rax + 0x84]
test al, 3
jne 0x14008a728
test eax, 0x40000
je 0x14008aef4
movzx eax, byte [r12]
mov rcx, r12
test al, al
jne 0x14008a51c
jmp 0x14008a524
movzx eax, byte [rcx + 1]
add rcx, 1
test al, al
je 0x14008a524
cmp al, 0x20
je 0x14008a510
cmp al, 9
je 0x14008a510
mov r8d, 5
lea rdx, str.RTSP_
mov qword [rsp + 0x28], rcx
call sym.strncmp
test eax, eax
jne 0x14008aef4
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + 5]
sub eax, 0x30
cmp al, 9
ja 0x14008a5cc
cmp byte [rcx + 6], 0x2e
jne 0x14008a5cc
movzx eax, byte [rcx + 7]
sub eax, 0x30
cmp al, 9
ja 0x14008a5cc
movzx eax, byte [rcx + 8]
cmp al, 0x20
je 0x14008a570
cmp al, 9
jne 0x14008a5cc
movsx eax, byte [rcx + 9]
lea edx, [rax - 0x30]
cmp dl, 9
ja 0x14008a5cc
movsx edx, byte [rcx + 0xa]
lea r8d, [rdx - 0x30]
cmp r8b, 9
ja 0x14008a5cc
movsx r8d, byte [rcx + 0xb]
lea r9d, [r8 - 0x30]
cmp r9b, 9
ja 0x14008a5cc
sub eax, 0x30
lea edx, [rdx + rdx*4 - 0xf0]
imul eax, eax, 0x64
lea eax, [rax + rdx*2]
lea eax, [rax + r8 - 0x30]
mov dword [rbx + 0x13c], eax
movzx eax, byte [rcx + 0xc]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x14008a9c0
cmp al, 0x20
je 0x14008a9c0
mov edx, 8
jmp 0x14008a3de
mov r9, r15
mov r8, r12
mov edx, 1
mov rcx, rbx
call sym.Curl_debug
mov r9, r15
mov r8, r12
mov rcx, rbx
mov eax, dword [rbx + 0x13c]
sub eax, 0x64
cmp eax, 0x64
sbb edx, edx
and edx, 0x20
add edx, 4
call sym.Curl_client_write
mov edx, eax
test eax, eax
jne 0x14008a3de
mov rdx, r15
xor r8d, r8d
mov rcx, rbx
call sym.Curl_bump_headersize
mov edx, eax
test eax, eax
jne 0x14008a3de
mov rcx, r14
call sym.Curl_dyn_reset
mov eax, dword [rbx + 0x13c]
lea edx, [rax - 0x64]
cmp edx, 0x63
jbe 0x14008a840
mov r12, qword [rbx + 0x20]
mov edx, dword [rbx + 0x144]
mov dword [rbx + 0x128], 0
cmp byte [r12 + 0x558], 0x13
ja 0x14008a67e
mov rcx, qword [r12 + 0x520]
mov dword [rcx], 0xffffffff
cmp eax, 0x63
jle 0x14008ab70
and byte [rbx + 0x1d4], 0xfe
cmp edx, 2
je 0x14008add0
cmp qword [rbx + 0xf0], 0xffffffffffffffff
je 0x14008ad40
mov byte [rsp + 0x28], 0
test byte [rbx + 0x1d4], 1
je 0x14008ab20
mov edx, dword [r12 + 0x410]
mov eax, dword [r12 + 0x414]
test byte [r12 + 0x340], 0x40
je 0x14008a9f8
mov ecx, dword [rbx + 0x13c]
mov edx, dword [r12 + 0x410]
mov eax, dword [r12 + 0x414]
cmp ecx, 0x191
je 0x14008adb0
cmp ecx, 0x197
jne 0x14008a709
cmp eax, 1
je 0x14008a9ee
cmp edx, 3
jne 0x14008aa01
mov dword [r12 + 0x410], 4
jmp 0x14008aa01
movzx eax, byte [r12]
mov rcx, r12
test al, al
jne 0x14008a74c
jmp 0x14008a754
movzx eax, byte [rcx + 1]
add rcx, 1
test al, al
je 0x14008a754
cmp al, 0x20
je 0x14008a740
cmp al, 9
je 0x14008a740
mov r8d, 5
lea rdx, str.HTTP_
mov qword [rsp + 0x28], rcx
call sym.strncmp
test eax, eax
jne 0x14008a810
mov rcx, qword [rsp + 0x28]
movsx eax, byte [rcx + 5]
cmp al, 0x31
je 0x14008ac88
lea edx, [rax - 0x32]
cmp dl, 1
ja 0x14008ac70
movzx edx, byte [rcx + 6]
cmp dl, 0x20
je 0x14008a79e
cmp dl, 9
jne 0x14008a810
lea eax, [rax + rax*4 - 0xf0]
add eax, eax
mov dword [rbx + 0x138], eax
movsx eax, byte [rcx + 7]
lea edx, [rax - 0x30]
cmp dl, 9
ja 0x14008a810
movsx edx, byte [rcx + 8]
lea r8d, [rdx - 0x30]
cmp r8b, 9
ja 0x14008a810
movsx r8d, byte [rcx + 9]
lea r9d, [r8 - 0x30]
cmp r9b, 9
ja 0x14008a810
sub eax, 0x30
lea edx, [rdx + rdx*4 - 0xf0]
imul eax, eax, 0x64
lea eax, [rax + rdx*2]
lea eax, [rax + r8 - 0x30]
mov dword [rbx + 0x13c], eax
movzx eax, byte [rcx + 0xa]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x14008a9ca
cmp al, 0x20
je 0x14008a9ca
nop dword [rax]
mov rcx, qword [rbx + 0x6c0]
mov r8, r15
mov rdx, r12
call sym.checkhttpprefix.isra.0
cmp eax, 1
jne 0x14008aef4
mov rax, qword [0x14017a3f0]
mov qword [rbx + 0x138], rax
jmp 0x14008a9ca
mov edx, dword [rbx + 0x120]
mov r12, qword [rbx + 0x20]
mov ecx, dword [rbx + 0x144]
mov dword [rbx + 0x128], edx
movzx edx, byte [r12 + 0x558]
cmp dl, 0x13
ja 0x14008ab40
mov r8, qword [r12 + 0x520]
mov dword [r8], 0xffffffff
cmp eax, 0x64
je 0x14008ac30
cmp eax, 0x65
jne 0x14008ad98
cmp dl, 0xb
jne 0x14008ab52
cmp ecx, 2
je 0x14008aed4
and byte [rbx + 0x1d4], 0xfe
jmp 0x14008a6a5
mov dword [rsp + 0x3c], 4
mov rcx, r14
call sym.Curl_dyn_ptr
mov rcx, r14
mov qword [rsp + 0x28], rax
call sym.Curl_dyn_len
mov rcx, qword [rsp + 0x28]
xor edx, edx
mov r8, rax
mov qword [rsp + 0x30], rax
call sym.memchr
mov r8, qword [rsp + 0x30]
test rax, rax
jne 0x14008aaf0
mov eax, dword [rbx + 0x12c]
cmp eax, 1
jle 0x14008a92f
mov rcx, qword [rsp + 0x28]
movzx ecx, byte [rcx]
cmp cl, 0x20
sete dl
cmp cl, 9
sete cl
or dl, cl
je 0x14008a917
cmp eax, 2
jne 0x14008a92f
mov rcx, qword [rsp + 0x28]
mov edx, 0x3a
call sym.memchr
test rax, rax
je 0x14008aec0
mov rdx, qword [rsp + 0x20]
mov r9, r15
mov r8, r12
mov rcx, rbx
call sym.Curl_http_header
mov edx, eax
test eax, eax
jne 0x14008a3de
mov r9, r15
mov r8, r12
mov edx, 1
mov rcx, rbx
call sym.Curl_debug
mov ecx, dword [rsp + 0x3c]
mov r9, r15
mov r8, r12
mov eax, dword [rbx + 0x13c]
mov edx, ecx
sub eax, 0x64
or edx, 0x20
cmp eax, 0x64
cmovae edx, ecx
mov rcx, rbx
call sym.Curl_client_write
mov edx, eax
test eax, eax
jne 0x14008a3de
mov rdx, r15
xor r8d, r8d
mov rcx, rbx
call sym.Curl_bump_headersize
mov edx, eax
test eax, eax
jne 0x14008a3de
mov rcx, r14
call sym.Curl_dyn_reset
test rbp, rbp
je 0x14008ab04
add rdi, rsi
jmp 0x14008a40f
mov dword [rbx + 0x138], 0xb
mov rdx, qword [rsp + 0x20]
mov rcx, rbx
call sym.Curl_http_statusline
mov edx, eax
test eax, eax
jne 0x14008a3de
mov dword [rsp + 0x3c], 0xc
jmp 0x14008a8b8
or byte [rbx + 0x11fc], 0x20
nop dword [rax]
cmp edx, 3
je 0x14008ac50
cmp eax, 3
je 0x14008ab90
mov rcx, rbx
call sym.http_should_fail
test al, al
jne 0x14008ad20
call sym.Curl_http_auth_act
mov edx, eax
test eax, eax
jne 0x14008a3de
cmp dword [rbx + 0x13c], 0x12b
jle 0x14008aa70
test byte [rbx + 0x1d6], 1
jne 0x14008aa4d
test byte [r12 + 0x340], 0x40
je 0x14008ae5e
mov rcx, rbx
call sym.Curl_creader_will_rewind
test al, al
je 0x14008aa70
mov rcx, rbx
call sym.Curl_req_done_sending
test al, al
jne 0x14008aa70
or dword [rbx + 0x140], 2
nop dword [rax]
movzx eax, byte [rbx + 0x1d4]
test al, 1
je 0x14008abb8
cmp byte [rsp + 0x28], 0
jne 0x14008ab7f
movzx eax, byte [rbx + 0x1d4]
and eax, 1
test rbp, rbp
je 0x14008ab10
test al, al
jne 0x14008a9b8
mov rcx, r14
call sym.Curl_dyn_free
movzx eax, byte [rbx + 0x1d4]
and eax, 1
test al, al
jne 0x14008a3dc
mov rcx, rbx
call sym.Curl_http_firstwrite
cmp byte [rbx + 0x1d5], 0
mov edx, eax
jns 0x14008abe8
mov rcx, r14
mov dword [rsp + 0x20], edx
call sym.Curl_dyn_free
mov edx, dword [rsp + 0x20]
jmp 0x14008a3de
lea rdx, str.Nul_byte_in_header
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008a5cc
movzx eax, byte [rbx + 0x1d4]
and eax, 1
nop
test al, al
jne 0x14008a3dc
jmp 0x14008aaa1
mov byte [rsp + 0x28], 0
nop
mov rcx, rbx
call sym.Curl_http_size
mov edx, eax
test eax, eax
je 0x14008a6b7
jmp 0x14008a3de
cmp eax, 0x64
je 0x14008ac30
cmp eax, 0x65
jne 0x14008ad98
lea rdx, str.unexpected_101_response_code
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008a5cc
lea rdx, str.Unsupported_response_code_in_HTTP_response
mov rcx, rbx
call sym.Curl_failf
mov edx, 1
jmp 0x14008a3de
cmp dword [rbx + 0x13c], 0x197
je 0x14008aa0a
mov dword [r12 + 0x414], 4
jmp 0x14008aa0a
cmp byte [rbx + 0x1d5], 0
jns 0x14008abca
or eax, 8
mov byte [rbx + 0x1d4], al
cmp qword [rbx + 0xf8], 0
jne 0x14008aa7f
or byte [rbx + 0x1d4], 8
jmp 0x14008aa7f
mov rcx, r14
mov dword [rsp + 0x20], eax
call sym.Curl_dyn_len
mov edx, dword [rsp + 0x20]
test rax, rax
je 0x14008aad2
mov rcx, r14
call sym.Curl_dyn_len
mov rcx, r14
mov rsi, rax
call sym.Curl_dyn_ptr
mov edx, 1
mov r9, rsi
mov rcx, rbx
mov r8, rax
call sym.Curl_client_write
mov edx, eax
jmp 0x14008aad2
or byte [rbx + 0x1d4], 1
mov rcx, rbx
mov dword [rbx + 0x12c], 0
call sym.Curl_http_exp100_got100
jmp 0x14008a6a5
cmp dword [rbx + 0x13c], 0x191
jne 0x14008a712
cmp eax, 3
jne 0x14008aa0a
jmp 0x14008aba0
lea rdx, str.Unsupported_HTTP_version_in_response
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008ab7f
cmp byte [rcx + 6], 0x2e
jne 0x14008ad09
movsx eax, byte [rcx + 7]
lea edx, [rax - 0x30]
cmp dl, 1
ja 0x14008ad09
movzx edx, byte [rcx + 8]
cmp dl, 0x20
je 0x14008aca8
cmp dl, 9
jne 0x14008ad09
sub eax, 0x26
mov dword [rbx + 0x138], eax
movsx eax, byte [rcx + 9]
lea edx, [rax - 0x30]
cmp dl, 9
ja 0x14008ad09
movsx edx, byte [rcx + 0xa]
lea r8d, [rdx - 0x30]
cmp r8b, 9
ja 0x14008ad09
movsx r8d, byte [rcx + 0xb]
lea r9d, [r8 - 0x30]
cmp r9b, 9
ja 0x14008ad09
sub eax, 0x30
lea edx, [rdx + rdx*4 - 0xf0]
imul eax, eax, 0x64
lea eax, [rax + rdx*2]
lea eax, [rax + r8 - 0x30]
mov dword [rbx + 0x13c], eax
movzx eax, byte [rcx + 0xc]
cmp al, 0xd
jg 0x14008ade8
cmp al, 8
jg 0x14008a9ca
lea rdx, str.Unsupported_HTTP_1_subversion_in_response
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008ab7f
mov r8d, dword [rbx + 0x13c]
lea rdx, str.The_requested_URL_returned_error:__d
call sym.Curl_failf
mov edx, 0x16
jmp 0x14008a3de
test byte [rbx + 0x1d5], 8
jne 0x14008a6a5
test byte [r12 + 0x340], 0x40
jne 0x14008af00
cmp byte [r12 + 0x558], 0xb
je 0x14008af8e
test byte [rbx + 0x1d4], 1
je 0x14008ab1a
mov byte [rsp + 0x28], 0
mov eax, dword [r12 + 0x414]
mov edx, dword [r12 + 0x410]
jmp 0x14008a9f8
or byte [rbx + 0x1d4], 1
mov dword [rbx + 0x12c], 0
jmp 0x14008a6a5
cmp edx, 1
jne 0x14008a9f8
or byte [rbx + 0x11fc], 0x20
cmp eax, 3
jne 0x14008aa0a
jmp 0x14008aba0
mov rcx, qword [rbx + 0xd8]
call sym.Curl_multi_connchanged
jmp 0x14008a697
cmp al, 0x20
je 0x14008a9ca
jmp 0x14008ad09
mov rdx, rdi
mov r8, rbp
mov rcx, r14
call sym.Curl_dyn_addn
mov edx, eax
test eax, eax
jne 0x14008a3de
mov edx, dword [rbx + 0x12c]
add qword [r13], rbp
test edx, edx
jne 0x14008ae4c
mov rcx, r14
call sym.Curl_dyn_len
mov rcx, r14
mov rsi, rax
call sym.Curl_dyn_ptr
mov rcx, qword [rbx + 0x6c0]
mov r8, rsi
mov rdx, rax
call sym.checkhttpprefix.isra.0
cmp eax, 2
je 0x14008af4b
test byte [rbx + 0x1d4], 1
je 0x14008aaa1
jmp 0x14008a3dc
mov rcx, rbx
call sym.Curl_creader_will_rewind
test al, al
jne 0x14008aa4d
movzx eax, byte [rbx + 0x11fa]
sub eax, 1
cmp eax, 3
ja 0x14008aa4d
mov rcx, rbx
call sym.Curl_req_done_sending
test al, al
jne 0x14008aa4d
cmp dword [rbx + 0x13c], 0x1a1
je 0x14008affa
test byte [rbx + 0xa0d], 0x20
je 0x14008afd6
mov rcx, rbx
call sym.Curl_http_exp100_got100
jmp 0x14008aa4d
lea rdx, str.Header_without_colon
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008a5cc
or byte [rbx + 0x1d4], 1
mov dword [rbx + 0x144], 3
mov dword [rbx + 0x12c], 0
jmp 0x14008a6aa
and byte [rbx + 0x1d4], 0xfe
jmp 0x14008aaa1
test byte [rbx + 0x1d4], 1
je 0x14008ab1a
mov byte [rsp + 0x28], 0
jmp 0x14008a6d6
mov rdi, qword [rsp + 0x20]
mov edx, 2
mov rcx, rdi
call sym.Curl_conncontrol
cmp byte [rdi + 0x558], 9
ja 0x14008afc2
cmp byte [rbx + 0xa11], 0
jns 0x14008af7a
and byte [rbx + 0x1d4], 0xfe
jmp 0x14008aabb
and byte [rbx + 0x1d4], 0xfe
mov rdi, qword [rsp + 0x20]
mov edx, 2
mov rcx, rdi
call sym.Curl_conncontrol
cmp byte [rdi + 0x558], 9
ja 0x14008afc2
cmp byte [rbx + 0xa11], 0
js 0x14008aaa9
lea rdx, str.Received_HTTP_0.9_when_not_allowed
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008ab7f
mov rax, qword [r12 + 0x348]
test byte [rax + 0x86], 4
jne 0x14008ad6b
cmp byte [rbx + 0x11fa], 5
je 0x14008ad6b
mov edx, 2
mov rcx, r12
call sym.Curl_conncontrol
jmp 0x14008a6a5
lea rdx, str.Invalid_status_line
mov rcx, rbx
call sym.Curl_failf
jmp 0x14008a5cc
mov edx, 2
mov rcx, r12
call sym.Curl_conncontrol
mov rcx, rbx
call sym.Curl_req_abort_sending
mov edx, eax
test eax, eax
je 0x14008aa4d
jmp 0x14008a3de
lea r15, str.cr_exp100
mov rcx, rbx
mov rdx, r15
call sym.Curl_creader_get_by_type
test rax, rax
je 0x14008aea1
cmp qword [rbx + 0x108], 0
jne 0x14008b064
mov rdx, r15
mov rcx, rbx
call sym.Curl_creader_get_by_type
test rax, rax
je 0x14008b064
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x30], 1
jne 0x14008b064
mov rax, qword [0x140186a70]
mov rcx, qword [rbx + 0x10a0]
or byte [rbx + 0x11fc], 0x80
call qword [rax]
mov rcx, rbx
mov qword [rbx + 0x1b8], rax
call sym.Curl_req_abort_sending
jmp 0x14008aa4d
mov edx, 2
mov rcx, r12
call sym.Curl_conncontrol
mov rdx, r12
mov rcx, rbx
call sym.http_perhapsrewind
mov edx, eax
test eax, eax
je 0x14008b039
jmp 0x14008a3de