Function at 0x1401a5260
Capabilities:
Check http status code

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rsi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov qword [rsi], 0
mov al, byte [rdx]
mov r12, rcx
mov r14, rdx
mov r15, r8
mov rdi, r9
cmp al, 0xa
je 0x1401a52a0
cmp al, 0xd
jne 0x1401a58cb
mov r9, r15
mov r8, r14
mov edx, 1
mov rcx, r12
call sym.Curl_debug
mov r9, r15
mov r8, r14
mov rcx, r12
mov eax, dword [r12 + 0x13c]
sub eax, 0x64
cmp eax, 0x64
sbb edx, edx
and edx, 0x20
add edx, 4
call sym.Curl_client_write
mov r13d, eax
test eax, eax
jne 0x1401a5c9d
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call sym.Curl_bump_headersize
mov r13d, eax
test eax, eax
jne 0x1401a5c9d
mov eax, dword [r12 + 0x13c]
xor edx, edx
sub eax, 0x64
cmp eax, 0x63
ja 0x1401a5315
mov edx, dword [r12 + 0x120]
mov dword [r12 + 0x128], edx
lea rcx, [r12 + 0xb60]
call sym.Curl_dyn_reset
mov r14, qword [r12 + 0x20]
cmp dword [r12 + 0x144], 3
jne 0x1401a5371
cmp byte [r14 + 0x548], 0x14
je 0x1401a5371
test byte [r12 + 0x986], 0x20
je 0x1401a5371
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a5362
cmp dword [rax + 8], 0
jle 0x1401a5371
lea rdx, str.Lying_server__not_serving_HTTP_2
mov rcx, r12
call sym.Curl_infof
mov cl, byte [r14 + 0x548]
cmp cl, 0x13
ja 0x1401a538a
mov rax, qword [r14 + 0x510]
mov dword [rax], 0xffffffff
mov edx, dword [r12 + 0x13c]
cmp edx, 0x63
jg 0x1401a53a3
lea rdx, str.Unsupported_response_code_in_HTTP_response
jmp 0x1401a5978
cmp edx, 0xc7
mov al, byte [r12 + 0x1d4]
jg 0x1401a5486
mov dword [r12 + 0x12c], 0
or eax, 1
mov byte [r12 + 0x1d4], al
cmp edx, 0x64
je 0x1401a53dd
cmp edx, 0x65
je 0x1401a53ea
jmp 0x1401a58c1
mov rcx, r12
call sym.Curl_http_exp100_got100
jmp 0x1401a58c1
lea rdx, str.unexpected_101_response_code
cmp cl, 0xb
jne 0x1401a5c1b
cmp dword [r12 + 0x144], 2
jne 0x1401a5476
test byte [r12 + 0x986], 0x20
je 0x1401a5432
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a5423
cmp dword [rax + 8], 0
jle 0x1401a5432
lea rdx, str.Received_101__Switching_to_HTTP_2
mov rcx, r12
call sym.Curl_infof
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov r9, rdi
mov rdx, r14
or byte [r12 + 0x1d4], 1
mov rcx, r12
mov dword [r12 + 0x144], 3
mov dword [r12 + 0x12c], 0
call sym.Curl_http2_upgrade
test eax, eax
jne 0x1401a5c9a
jmp 0x1401a58c3
and eax, 0xfffffffe
mov byte [r12 + 0x1d4], al
jmp 0x1401a58c1
and eax, 0xfffffffe
cmp dword [r12 + 0x144], 2
mov byte [r12 + 0x1d4], al
jne 0x1401a54a9
mov rcx, qword [r12 + 0xd8]
call sym.Curl_multi_connchanged
cmp qword [r12 + 0xf0], 0xffffffffffffffff
jne 0x1401a555c
test byte [r12 + 0x1d5], 8
jne 0x1401a555c
test byte [r14 + 0x340], 0x40
je 0x1401a54f1
mov eax, dword [r12 + 0x13c]
cmp eax, 0x191
jne 0x1401a556b
cmp dword [r14 + 0x408], 1
jmp 0x1401a557a
cmp byte [r14 + 0x548], 0xb
jne 0x1401a55b2
mov rax, qword [r14 + 0x348]
test byte [rax + 0x8e], 4
jne 0x1401a55b2
cmp byte [r12 + 0x1192], 5
je 0x1401a55b2
test byte [r12 + 0x986], 0x20
je 0x1401a554f
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a5540
cmp dword [rax + 8], 0
jle 0x1401a554f
lea rdx, str.no_chunk__no_close__no_size._Assume_close_to_signal_end
mov rcx, r12
call sym.Curl_infof
mov edx, 2
mov rcx, r14
call sym.Curl_conncontrol
test byte [r14 + 0x340], 0x40
je 0x1401a55b2
jmp 0x1401a54d1
cmp eax, 0x197
jne 0x1401a55b2
cmp dword [r14 + 0x40c], 1
jne 0x1401a55b2
test byte [r12 + 0x986], 0x20
je 0x1401a55a9
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a559a
cmp dword [rax + 8], 0
jle 0x1401a55a9
lea rdx, str.Connection_closure_while_negotiating_auth__HTTP_1.0__
mov rcx, r12
call sym.Curl_infof
or byte [r12 + 0x1194], 0x20
cmp dword [r14 + 0x408], 3
mov r8d, dword [r12 + 0x13c]
jne 0x1401a55d8
cmp r8d, 0x191
je 0x1401a55d8
mov dword [r14 + 0x408], 4
cmp dword [r14 + 0x40c], 3
jne 0x1401a55f6
cmp r8d, 0x197
je 0x1401a55f6
mov dword [r14 + 0x40c], 4
mov edx, r8d
mov rcx, r12
mov dword [rsp + 0x3c], r8d
call sym.http_should_fail
mov r8d, dword [rsp + 0x3c]
test al, al
je 0x1401a5626
lea rdx, str.The_requested_URL_returned_error:__d
mov r13d, 0x16
call sym.Curl_failf
jmp 0x1401a5c9d
call sym.Curl_http_auth_act
test eax, eax
jne 0x1401a5c9a
cmp dword [r12 + 0x13c], 0x12b
jle 0x1401a5867
test byte [r12 + 0x1d6], 1
jne 0x1401a5819
test byte [r14 + 0x340], 0x40
jne 0x1401a5819
mov rcx, r12
call sym.Curl_creader_will_rewind
test al, al
jne 0x1401a5819
movzx eax, byte [r12 + 0x1192]
dec eax
cmp eax, 3
ja 0x1401a5819
mov rcx, r12
call sym.Curl_req_done_sending
test al, al
jne 0x1401a5819
cmp dword [r12 + 0x13c], 0x1a1
jne 0x1401a5790
mov rcx, r12
call sym.Curl_http_exp100_is_selected
test al, al
je 0x1401a5790
cmp qword [r12 + 0x108], 0
jne 0x1401a5714
lea rdx, str.cr_exp100
mov rcx, r12
call sym.Curl_creader_get_by_type
test rax, rax
je 0x1401a5714
mov dl, byte [r12 + 0x986]
mov rax, qword [rax + 0x10]
and edx, 0x20
cmp dword [rax + 0x30], 1
jne 0x1401a5714
test dl, dl
je 0x1401a5761
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a5703
cmp dword [rax + 8], 0
jle 0x1401a5761
lea rdx, str.Got_HTTP_failure_417_while_waiting_for_a_100
mov rcx, r12
call sym.Curl_infof
jmp 0x1401a5761
test byte [r12 + 0x986], 0x20
je 0x1401a5741
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a5732
cmp dword [rax + 8], 0
jle 0x1401a5741
lea rdx, str.Got_HTTP_failure_417_while_sending_data
mov rcx, r12
call sym.Curl_infof
mov edx, 2
mov rcx, r14
call sym.Curl_conncontrol
mov rdx, r14
mov rcx, r12
call sym.http_perhapsrewind
test eax, eax
jne 0x1401a5c9a
mov rax, qword [0x14027ac00]
mov rcx, qword [r12 + 0x1038]
or byte [r12 + 0x1194], 0x80
call qword [rax]
mov rcx, r12
mov qword [r12 + 0x1b8], rax
call sym.Curl_req_abort_sending
jmp 0x1401a5819
mov al, byte [r12 + 0x986]
and eax, 0x20
test byte [r12 + 0x985], 0x20
je 0x1401a57d6
test al, al
je 0x1401a57cc
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a57bd
cmp dword [rax + 8], 0
jle 0x1401a57cc
lea rdx, str.HTTP_error_before_end_of_send__keep_sending
mov rcx, r12
call sym.Curl_infof
mov rcx, r12
call sym.Curl_http_exp100_got100
jmp 0x1401a5819
test al, al
je 0x1401a57fc
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a57ed
cmp dword [rax + 8], 0
jle 0x1401a57fc
lea rdx, str.HTTP_error_before_end_of_send__stop_sending
mov rcx, r12
call sym.Curl_infof
mov rcx, r14
mov edx, 2
call sym.Curl_conncontrol
mov rcx, r12
call sym.Curl_req_abort_sending
test eax, eax
jne 0x1401a5c9a
mov rcx, r12
call sym.Curl_creader_will_rewind
test al, al
je 0x1401a5867
mov rcx, r12
call sym.Curl_req_done_sending
test al, al
jne 0x1401a5867
test byte [r12 + 0x986], 0x20
je 0x1401a585e
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x1401a584f
cmp dword [rax + 8], 0
jle 0x1401a585e
lea rdx, str.Keep_sending_data_to_get_tossed_away
mov rcx, r12
call sym.Curl_infof
or dword [r12 + 0x140], 2
mov rcx, r12
call sym.Curl_http_size
test eax, eax
jne 0x1401a5c9a
cmp byte [r12 + 0x1d5], 0
jns 0x1401a588b
or byte [r12 + 0x1d4], 8
cmp qword [r12 + 0xf8], 0
jne 0x1401a58b1
xor r8d, r8d
mov rdx, r14
mov rcx, r12
call sym.Curl_conn_is_http2
test al, al
jne 0x1401a58b1
or byte [r12 + 0x1d4], 8
mov rcx, r12
call sym.Curl_http_firstwrite
test eax, eax
jne 0x1401a5c9a
xor ebx, ebx
add qword [rsi], rbx
jmp 0x1401a5c9d
mov eax, dword [rcx + 0x12c]
lea edx, [rax + 1]
mov dword [rcx + 0x12c], edx
test eax, eax
jne 0x1401a5bbc
mov dword [rcx + 0x138], 0
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x348]
mov eax, dword [rax + 0x8c]
test al, 3
je 0x1401a5ab1
mov r13, r14
mov al, byte [r13]
test al, al
je 0x1401a591d
cmp al, 0x20
jne 0x1401a5919
inc r13
jmp 0x1401a5908
cmp al, 9
je 0x1401a5914
mov r8d, 5
lea rdx, str.HTTP_
mov rcx, r13
call sym.strncmp
test eax, eax
jne 0x1401a5a7f
movsx eax, byte [r13 + 5]
cmp al, 0x31
je 0x1401a596a
lea edx, [rax - 0x32]
cmp dl, 1
ja 0x1401a5a73
mov dl, byte [r13 + 6]
cmp dl, 0x20
je 0x1401a5a0e
cmp dl, 9
jne 0x1401a5a7f
jmp 0x1401a5a0e
cmp byte [r13 + 6], 0x2e
je 0x1401a598b
lea rdx, str.Unsupported_HTTP_1_subversion_in_response
mov rcx, r12
mov r13d, 1
call sym.Curl_failf
jmp 0x1401a5c9d
mov al, byte [r13 + 7]
lea edx, [rax - 0x30]
cmp dl, 1
ja 0x1401a5971
mov dl, byte [r13 + 8]
cmp dl, 0x20
je 0x1401a59a5
cmp dl, 9
jne 0x1401a5971
sub eax, 0x26
movsx eax, al
mov dword [r12 + 0x138], eax
mov al, byte [r13 + 9]
sub eax, 0x30
cmp al, 9
ja 0x1401a5971
mov dil, byte [r13 + 0xa]
lea edx, [rdi - 0x30]
cmp dl, 9
ja 0x1401a5971
mov sil, byte [r13 + 0xb]
lea ecx, [rsi - 0x30]
cmp cl, 9
ja 0x1401a5971
movsx eax, al
movsx edx, dl
movsx ecx, cl
imul edx, edx, 0xa
imul eax, eax, 0x64
add eax, edx
add eax, ecx
mov dword [r12 + 0x13c], eax
mov al, byte [r13 + 0xc]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401a5b93
cmp al, 0x20
jne 0x1401a5971
jmp 0x1401a5b93
sub eax, 0x30
imul eax, eax, 0xa
mov dword [r12 + 0x138], eax
mov al, byte [r13 + 7]
sub eax, 0x30
cmp al, 9
ja 0x1401a5a7f
mov dil, byte [r13 + 8]
lea edx, [rdi - 0x30]
cmp dl, 9
ja 0x1401a5a7f
mov sil, byte [r13 + 9]
lea ecx, [rsi - 0x30]
cmp cl, 9
ja 0x1401a5a7f
movsx eax, al
movsx edx, dl
movsx ecx, cl
imul edx, edx, 0xa
imul eax, eax, 0x64
add eax, edx
add eax, ecx
mov dword [r12 + 0x13c], eax
mov al, byte [r13 + 0xa]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401a5b93
cmp al, 0x20
jne 0x1401a5a7f
jmp 0x1401a5b93
lea rdx, str.Unsupported_HTTP_version_in_response
jmp 0x1401a5978
mov rcx, qword [r12 + 0x6c0]
mov r8, r15
mov rdx, r14
call sym.checkhttpprefix.isra.0
dec eax
jne 0x1401a5bb1
movabs rax, 0xc80000000a
mov qword [r12 + 0x138], rax
jmp 0x1401a5b93
bt eax, 0x12
mov r13, r14
jae 0x1401a5bb1
mov al, byte [r13]
test al, al
je 0x1401a5ad3
cmp al, 0x20
jne 0x1401a5acf
inc r13
jmp 0x1401a5abe
cmp al, 9
je 0x1401a5aca
mov r8d, 5
lea rdx, str.RTSP_
mov rcx, r13
call sym.strncmp
test eax, eax
jne 0x1401a5bb1
mov al, byte [r13 + 5]
sub eax, 0x30
cmp al, 9
ja 0x1401a5c23
cmp byte [r13 + 6], 0x2e
jne 0x1401a5c23
mov al, byte [r13 + 7]
sub eax, 0x30
cmp al, 9
ja 0x1401a5c23
mov al, byte [r13 + 8]
cmp al, 0x20
je 0x1401a5b29
cmp al, 9
jne 0x1401a5c23
mov al, byte [r13 + 9]
sub eax, 0x30
cmp al, 9
ja 0x1401a5c23
mov dil, byte [r13 + 0xa]
lea edx, [rdi - 0x30]
cmp dl, 9
ja 0x1401a5c23
mov sil, byte [r13 + 0xb]
lea ecx, [rsi - 0x30]
cmp cl, 9
ja 0x1401a5c23
movsx eax, al
movsx edx, dl
movsx ecx, cl
imul edx, edx, 0xa
imul eax, eax, 0x64
add eax, edx
add eax, ecx
mov dword [r12 + 0x13c], eax
mov al, byte [r13 + 0xc]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401a5b87
cmp al, 0x20
jne 0x1401a5c23
mov dword [r12 + 0x138], 0xb
mov rdx, qword [r12 + 0x20]
mov rcx, r12
mov ebx, 0xc
call sym.Curl_http_statusline
mov r13d, eax
test eax, eax
je 0x1401a5bc1
jmp 0x1401a5c9d
and byte [r12 + 0x1d4], 0xfe
jmp 0x1401a5c23
mov ebx, 4
xor edx, edx
mov r8, r15
mov rcx, r14
call sym.memchr
lea rdx, str.Nul_byte_in_header
test rax, rax
jne 0x1401a5c1b
mov eax, dword [r12 + 0x12c]
cmp eax, 1
jle 0x1401a5c2b
mov dl, byte [r14]
cmp dl, 0x20
sete cl
cmp dl, 9
sete dl
or cl, dl
je 0x1401a5bff
cmp eax, 2
jne 0x1401a5c2b
mov r8, r15
mov edx, 0x3a
mov rcx, r14
call sym.memchr
test rax, rax
jne 0x1401a5c2b
lea rdx, str.Header_without_colon
mov rcx, r12
call sym.Curl_failf
mov r13d, 8
jmp 0x1401a5c9d
mov r8, r15
mov rdx, r14
mov rcx, r12
call sym.Curl_http_header
mov r13d, eax
test eax, eax
jne 0x1401a5c9d
mov r9, r15
mov r8, r14
mov edx, 1
mov rcx, r12
call sym.Curl_debug
mov eax, dword [r12 + 0x13c]
sub eax, 0x64
cmp eax, 0x63
ja 0x1401a5c66
or ebx, 0x20
mov r9, r15
mov r8, r14
mov edx, ebx
mov rcx, r12
call sym.Curl_client_write
mov r13d, eax
test eax, eax
jne 0x1401a5c9d
xor r8d, r8d
mov rdx, r15
mov rcx, r12
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
jmp sym.Curl_bump_headersize
mov r13d, eax
mov eax, r13d
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret