Function at 0x1401ceb80
Capabilities:
Check http status code

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [rsp + 0xc0]
mov byte [rax], 0
mov qword [rsp + 0xa8], rdx
mov rbx, rcx
mov rdi, r8
mov rbp, r9
test byte [rcx + 0x1bc], 1
jne 0x1401cebc3
xor r11d, r11d
mov qword [r9], r11
xor r12d, r12d
jmp 0x1401cf7f7
lea rax, [rcx + 0xf0]
xor r10d, r10d
mov rsi, qword [rcx + 0x20]
mov qword [rsp + 0x40], rax
lea rax, [rcx + 0xbe8]
mov qword [r9], r10
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0xa8]
mov r8, rdi
mov edx, 0xa
call sym.memchr
mov r13, rax
test rax, rax
jne 0x1401cec9a
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x38]
mov r8, rdi
call sym.Curl_dyn_addn
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
add qword [rbp], rdi
cmp dword [rbx + 0x134], 0
jne 0x1401cf26b
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
call sym.Curl_dyn_ptr
mov rcx, qword [rbx + 0x6a8]
mov r8, qword [rsp + 0x40]
mov rdx, rax
call sym.checkhttpprefix.isra.0
cmp eax, 2
jne 0x1401cf26b
and byte [rbx + 0x1bc], 0xfe
mov edx, 2
mov rcx, rsi
call sym.Curl_conncontrol
cmp byte [rbx + 0xa11], 0
js 0x1401ced30
lea rdx, str.Received_HTTP_0.9_when_not_allowed
jmp 0x1401cf3cb
sub r13, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x38]
inc r13
mov r8, r13
call sym.Curl_dyn_addn
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
add qword [rsp + 0xa8], r13
sub rdi, r13
add qword [rbp], r13
cmp dword [rbx + 0x134], 0
jne 0x1401ced37
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
call sym.Curl_dyn_ptr
mov rcx, qword [rbx + 0x6a8]
mov r8, qword [rsp + 0x48]
mov rdx, rax
call sym.checkhttpprefix.isra.0
cmp eax, 2
jne 0x1401ced37
mov edx, 2
mov rcx, rsi
call sym.Curl_conncontrol
cmp byte [rbx + 0xa11], 0
jns 0x1401cec8e
and byte [rbx + 0x1bc], 0xfe
mov al, 1
jmp 0x1401cf768
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_ptr
mov r13, rax
mov al, byte [rax]
cmp al, 0xa
sete r14b
cmp al, 0xd
sete al
or r14b, al
je 0x1401cf2b1
mov eax, dword [rbx + 0x140]
lea edx, [rax - 0x64]
cmp edx, 0x63
ja 0x1401cee37
cmp eax, 0x64
je 0x1401ced7b
cmp eax, 0x65
je 0x1401cedb8
jmp 0x1401cee23
xor r9d, r9d
or byte [rbx + 0x1bc], 1
cmp dword [rbx + 0x158], 0
mov dword [rbx + 0x134], r9d
je 0x1401cedb0
xor r8d, r8d
or dword [rbx + 0x144], 2
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x158], r8d
call sym.Curl_expire_done
xor r14d, r14d
jmp 0x1401ceed3
cmp byte [rsi + 0x4cc], 0xb
jne 0x1401cee09
cmp dword [rbx + 0x15c], 2
jne 0x1401cee00
test byte [rbx + 0xa0e], 0x20
je 0x1401cede2
lea rdx, str.Received_101__Switching_to_HTTP_2
mov rcx, rbx
call sym.Curl_infof
xor ecx, ecx
or byte [rbx + 0x1bc], 1
mov dword [rbx + 0x15c], 3
mov dword [rbx + 0x134], ecx
jmp 0x1401ceed3
and byte [rbx + 0x1bc], 0xfe
jmp 0x1401cedb0
lea rdx, str.unexpected_101_response_code
mov rcx, rbx
call sym.Curl_failf
mov r12d, 8
jmp 0x1401cf7f7
xor edx, edx
or byte [rbx + 0x1bc], 1
mov dword [rbx + 0x134], edx
jmp 0x1401cedb0
cmp dword [rbx + 0x15c], 2
jne 0x1401cee4c
mov rcx, qword [rbx + 0xd8]
call sym.Curl_multi_connchanged
and byte [rbx + 0x1bc], 0xfe
cmp qword [rbx + 0xf0], 0xffffffffffffffff
jne 0x1401cedb0
cmp byte [rbx + 0x1bc], 0
js 0x1401cedb0
test byte [rsi + 0x2a8], 0x40
jne 0x1401cedb0
cmp byte [rsi + 0x4cc], 0xb
jne 0x1401cedb0
mov rax, qword [rsi + 0x2b0]
test byte [rax + 0x86], 4
jne 0x1401cedb0
cmp byte [rbx + 0x12aa], 5
je 0x1401cedb0
test byte [rbx + 0xa0e], 0x20
je 0x1401ceec1
lea rdx, str.no_chunk__no_close__no_size._Assume_close_to_signal_end
mov rcx, rbx
call sym.Curl_infof
mov edx, 2
mov rcx, rsi
call sym.Curl_conncontrol
jmp 0x1401cedb0
test byte [rbx + 0x1bc], 1
je 0x1401ceee7
test byte [rsi + 0x2a8], 0x40
jne 0x1401ceefb
jmp 0x1401cef40
mov rcx, rbx
call sym.Curl_http_size
mov r12d, eax
test eax, eax
je 0x1401ceedc
jmp 0x1401cf7f7
mov eax, dword [rbx + 0x140]
cmp eax, 0x191
jne 0x1401cef11
cmp dword [rsi + 0x378], 1
jmp 0x1401cef1f
cmp eax, 0x197
jne 0x1401cef40
cmp dword [rsi + 0x37c], 1
jne 0x1401cef40
test byte [rbx + 0xa0e], 0x20
je 0x1401cef39
lea rdx, str.Connection_closure_while_negotiating_auth__HTTP_1.0__
mov rcx, rbx
call sym.Curl_infof
or byte [rbx + 0x12ac], 0x20
cmp dword [rsi + 0x378], 3
mov eax, dword [rbx + 0x140]
jne 0x1401cef60
cmp eax, 0x191
je 0x1401cef60
mov dword [rsi + 0x378], 4
cmp dword [rsi + 0x37c], 3
jne 0x1401cef7a
cmp eax, 0x197
je 0x1401cef88
mov dword [rsi + 0x37c], 4
sub eax, 0x64
mov r15d, 0x24
cmp eax, 0x63
jbe 0x1401cef8e
mov r15d, 4
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov rcx, qword [rsp + 0x38]
mov r13, rax
call sym.Curl_dyn_ptr
mov r9, r13
mov edx, r15d
mov rcx, rbx
mov r8, rax
call sym.Curl_client_write
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call sym.Curl_bump_headersize
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
mov rcx, rbx
call sym.http_should_fail
mov r8d, dword [rbx + 0x140]
test al, al
je 0x1401cf004
lea rdx, str.The_requested_URL_returned_error:__d
mov r12d, 0x16
call sym.Curl_failf
jmp 0x1401cf7f7
sub r8d, 0x64
cmp r8d, 0x63
ja 0x1401cf015
mov r12d, dword [rbx + 0x128]
mov dword [rbx + 0x130], r12d
mov rcx, rbx
call sym.Curl_http_auth_act
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
cmp dword [rbx + 0x140], 0x12b
jle 0x1401cf1fe
mov al, byte [rbx + 0x12ae]
test dword [rsi + 0x2a8], 0x10040
jne 0x1401cf1d1
test al, 4
je 0x1401cf06c
cmp qword [rsi + 0x2d8], 0xffffffffffffffff
jne 0x1401cf1df
jmp 0x1401cf1fe
movzx eax, byte [rbx + 0x12aa]
dec eax
cmp eax, 3
ja 0x1401cf1fe
xor edx, edx
mov rcx, rbx
call sym.Curl_expire_done
test byte [rbx + 0x1bc], 0x10
jne 0x1401cf1d1
mov al, byte [rbx + 0xa0e]
and eax, 0x20
cmp dword [rbx + 0x140], 0x1a1
jne 0x1401cf149
cmp byte [rbx + 0x12ac], 0
jns 0x1401cf149
cmp qword [rbx + 0x108], 0
jne 0x1401cf0e3
cmp dword [rbx + 0x158], 1
jne 0x1401cf0e3
test al, al
je 0x1401cf119
lea rdx, str.Got_HTTP_failure_417_while_waiting_for_a_100
mov rcx, rbx
call sym.Curl_infof
jmp 0x1401cf119
test al, al
je 0x1401cf0f6
lea rdx, str.Got_HTTP_failure_417_while_sending_data
mov rcx, rbx
call sym.Curl_infof
mov edx, 2
mov rcx, rsi
call sym.Curl_conncontrol
mov rdx, rsi
mov rcx, rbx
call sym.http_perhapsrewind
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
mov rax, qword [0x1402c1af0]
mov rcx, qword [rbx + 0x1150]
or byte [rbx + 0x12ad], 1
call qword [rax]
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
mov qword [rbx + 0x180], rax
call sym.Curl_done_sending
jmp 0x1401cf1d1
test byte [rbx + 0xa0d], 0x20
je 0x1401cf17f
test al, al
je 0x1401cf165
lea rdx, str.HTTP_error_before_end_of_send__keep_sending
mov rcx, rbx
call sym.Curl_infof
cmp dword [rbx + 0x158], 0
je 0x1401cf1d1
xor eax, eax
or dword [rbx + 0x144], 2
mov dword [rbx + 0x158], eax
jmp 0x1401cf1d1
test al, al
je 0x1401cf192
lea rdx, str.HTTP_error_before_end_of_send__stop_sending
mov rcx, rbx
call sym.Curl_infof
mov edx, 2
mov rcx, rsi
call sym.Curl_conncontrol
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call sym.Curl_done_sending
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
or byte [rbx + 0x1bc], 0x10
cmp byte [rbx + 0x12ac], 0
jns 0x1401cf1d1
mov dword [rbx + 0x158], 3
test byte [rbx + 0x12ae], 4
je 0x1401cf1fe
jmp 0x1401cf059
test byte [rbx + 0xa0e], 0x20
je 0x1401cf1f7
lea rdx, str.Keep_sending_data_to_get_tossed_away
mov rcx, rbx
call sym.Curl_infof
or dword [rbx + 0x144], 2
mov al, byte [rbx + 0x1bc]
test al, 1
jne 0x1401cf272
test byte [rbx + 0x1bd], 0x10
je 0x1401cf21a
or eax, 4
mov byte [rbx + 0x1bc], al
cmp qword [rbx + 0xf8], 0
jne 0x1401cf23d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call sym.Curl_conn_is_http2
test al, al
jne 0x1401cf23d
or byte [rbx + 0x1bc], 4
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
call sym.Curl_dyn_ptr
mov r9, qword [rsp + 0x40]
mov edx, 1
mov rcx, rbx
mov r8, rax
call sym.Curl_debug
xor eax, eax
jmp 0x1401cf768
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_reset
test r14b, r14b
je 0x1401cf75a
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
mov r9, qword [rsp + 0xa8]
call sym.Curl_http2_upgrade
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
add qword [rbp], rdi
jmp 0x1401cf26b
mov eax, dword [rbx + 0x134]
lea edx, [rax + 1]
mov dword [rbx + 0x134], edx
test eax, eax
jne 0x1401cf639
mov rax, qword [rsi + 0x2b0]
mov eax, dword [rax + 0x84]
test al, 3
je 0x1401cf530
mov r14, r13
mov al, byte [r14]
test al, al
je 0x1401cf2f4
cmp al, 0x20
jne 0x1401cf2f0
inc r14
jmp 0x1401cf2e0
cmp al, 9
je 0x1401cf2eb
mov r8d, 5
lea rdx, str.HTTP_
mov rcx, r14
call sym.strncmp
test eax, eax
jne 0x1401cf4e5
movsx eax, byte [r14 + 5]
cmp al, 0x31
je 0x1401cf341
lea edx, [rax - 0x32]
cmp dl, 1
ja 0x1401cf44b
mov dl, byte [r14 + 6]
cmp dl, 0x20
je 0x1401cf3de
cmp dl, 9
jne 0x1401cf4e5
jmp 0x1401cf3de
cmp byte [r14 + 6], 0x2e
jne 0x1401cf3c4
movsx eax, byte [r14 + 7]
lea edx, [rax - 0x30]
cmp dl, 1
ja 0x1401cf3c4
mov dl, byte [r14 + 8]
cmp dl, 0x20
je 0x1401cf363
cmp dl, 9
jne 0x1401cf3c4
movsx ecx, byte [r14 + 9]
lea edx, [rcx - 0x30]
cmp dl, 9
ja 0x1401cf3c4
movsx edx, byte [r14 + 0xa]
lea r8d, [rdx - 0x30]
cmp r8b, 9
ja 0x1401cf3c4
movsx r8d, byte [r14 + 0xb]
lea r9d, [r8 - 0x30]
cmp r9b, 9
ja 0x1401cf3c4
sub ecx, 0x30
sub edx, 0x30
imul edx, edx, 0xa
imul ecx, ecx, 0x64
add ecx, edx
lea edx, [rcx + r8 - 0x30]
mov dword [rbx + 0x140], edx
mov dl, byte [r14 + 0xc]
cmp dl, 0xd
jg 0x1401cf3bb
cmp dl, 8
jg 0x1401cf457
jmp 0x1401cf3c4
cmp dl, 0x20
je 0x1401cf457
lea rdx, str.Unsupported_HTTP_1_subversion_in_response
mov rcx, rbx
call sym.Curl_failf
mov r12d, 1
jmp 0x1401cf7f7
movsx ecx, byte [r14 + 7]
lea edx, [rcx - 0x30]
cmp dl, 9
ja 0x1401cf4e5
movsx edx, byte [r14 + 8]
lea r8d, [rdx - 0x30]
cmp r8b, 9
ja 0x1401cf4e5
movsx r8d, byte [r14 + 9]
lea r9d, [r8 - 0x30]
cmp r9b, 9
ja 0x1401cf4e5
sub ecx, 0x30
sub edx, 0x30
imul edx, edx, 0xa
imul ecx, ecx, 0x64
add ecx, edx
lea edx, [rcx + r8 - 0x30]
mov dword [rbx + 0x140], edx
mov dl, byte [r14 + 0xa]
lea ecx, [rdx - 9]
cmp cl, 4
jbe 0x1401cf443
cmp dl, 0x20
jne 0x1401cf4e5
sub eax, 0x30
imul eax, eax, 0xa
jmp 0x1401cf45a
lea rdx, str.Unsupported_HTTP_version_in_response
jmp 0x1401cf3cb
sub eax, 0x26
cmp dword [rbx + 0x140], 0x63
jg 0x1401cf46f
lea rdx, str.Unsupported_response_code_in_HTTP_response
jmp 0x1401cf3cb
cmp eax, 0xb
jle 0x1401cf479
cmp eax, 0x14
jne 0x1401cf48f
mov byte [rsi + 0x4cc], al
cmp dword [rbx + 0x15c], 3
jne 0x1401cf4d6
cmp eax, 0x14
je 0x1401cf4d6
jmp 0x1401cf4ac
xor r9d, r9d
mov r8d, 3
lea rdx, str.Unsupported_HTTP_version___u._d__in_response
mov rcx, rbx
call sym.Curl_failf
jmp 0x1401cf3d3
test byte [rbx + 0xa0e], 0x20
jne 0x1401cf4c7
mov rax, qword [rsi + 0x490]
mov dword [rax], 0xffffffff
jmp 0x1401cf60f
lea rdx, str.Lying_server__not_serving_HTTP_2
mov rcx, rbx
call sym.Curl_infof
cmp byte [rsi + 0x4cc], 0x13
ja 0x1401cf60f
jmp 0x1401cf4b5
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
call sym.Curl_dyn_ptr
mov rcx, qword [rbx + 0x6a8]
mov r8, qword [rsp + 0x48]
mov rdx, rax
call sym.checkhttpprefix.isra.0
dec eax
jne 0x1401cf62d
mov dword [rbx + 0x140], 0xc8
mov byte [rsi + 0x4cc], 0xa
jmp 0x1401cf60f
bt eax, 0x12
jae 0x1401cf62d
mov r14, r13
mov al, byte [r14]
test al, al
je 0x1401cf551
cmp al, 0x20
jne 0x1401cf54d
inc r14
jmp 0x1401cf53d
cmp al, 9
je 0x1401cf548
mov r8d, 5
lea rdx, str.RTSP_
mov rcx, r14
call sym.strncmp
test eax, eax
jne 0x1401cf62d
mov al, byte [r14 + 5]
sub eax, 0x30
cmp al, 9
ja 0x1401cee18
cmp byte [r14 + 6], 0x2e
jne 0x1401cee18
mov al, byte [r14 + 7]
sub eax, 0x30
cmp al, 9
ja 0x1401cee18
mov al, byte [r14 + 8]
cmp al, 0x20
je 0x1401cf5a7
cmp al, 9
jne 0x1401cee18
movsx eax, byte [r14 + 9]
lea edx, [rax - 0x30]
cmp dl, 9
ja 0x1401cee18
movsx ecx, byte [r14 + 0xa]
lea edx, [rcx - 0x30]
cmp dl, 9
ja 0x1401cee18
movsx edx, byte [r14 + 0xb]
lea r8d, [rdx - 0x30]
cmp r8b, 9
ja 0x1401cee18
sub eax, 0x30
sub ecx, 0x30
imul eax, eax, 0x64
imul ecx, ecx, 0xa
add eax, ecx
lea eax, [rax + rdx - 0x30]
mov dword [rbx + 0x140], eax
mov al, byte [r14 + 0xc]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401cf608
cmp al, 0x20
jne 0x1401cee18
mov byte [rsi + 0x4cc], 0xb
mov rdx, rsi
mov rcx, rbx
call sym.Curl_http_statusline
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
mov r15d, 0xc
jmp 0x1401cf63f
and byte [rbx + 0x1bc], 0xfe
jmp 0x1401cf26b
mov r15d, 4
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_ptr
mov rcx, qword [rsp + 0x38]
mov r14, rax
call sym.Curl_dyn_len
xor edx, edx
mov rcx, r14
mov r8, rax
mov qword [rsp + 0x48], rax
call sym.memchr
mov r8, qword [rsp + 0x48]
test rax, rax
je 0x1401cf67e
lea rdx, str.Nul_byte_in_header
jmp 0x1401cee10
mov eax, dword [rbx + 0x134]
cmp eax, 1
jle 0x1401cf6bf
mov cl, byte [r14]
cmp cl, 0x20
sete dl
cmp cl, 9
sete cl
or dl, cl
je 0x1401cf6a1
cmp eax, 2
jne 0x1401cf6bf
mov edx, 0x3a
mov rcx, r14
call sym.memchr
test rax, rax
jne 0x1401cf6bf
lea rdx, str.Header_without_colon
jmp 0x1401cee10
mov r8, r13
mov rdx, rsi
mov rcx, rbx
call sym.Curl_http_header
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
mov eax, dword [rbx + 0x140]
sub eax, 0x64
cmp eax, 0x63
ja 0x1401cf6ea
or r15d, 0x20
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov r8, r13
mov edx, 1
mov rcx, rbx
mov r9, rax
call sym.Curl_debug
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
mov r8, r13
mov edx, r15d
mov rcx, rbx
mov r9, rax
call sym.Curl_client_write
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_len
xor r8d, r8d
mov rcx, rbx
mov rdx, rax
call sym.Curl_bump_headersize
mov r12d, eax
test eax, eax
jne 0x1401cf7f7
mov rcx, qword [rsp + 0x38]
call sym.Curl_dyn_reset
test rdi, rdi
jne 0x1401cebe5
jmp 0x1401cf26b
test byte [rbx + 0x1bc], 1
jne 0x1401cf781
test al, al
jne 0x1401cf781
lea rcx, [rbx + 0xbe8]
call sym.Curl_dyn_free
test byte [rbx + 0x1bc], 1
jne 0x1401cebbb
mov rdx, qword [rbx + 0x20]
mov r8, qword [rsp + 0xc0]
mov rcx, rbx
lea rsi, [rbx + 0xbe8]
call sym.Curl_http_firstwrite
test byte [rbx + 0x1bd], 0x10
mov r12d, eax
jne 0x1401cf7ef
mov rcx, rsi
call sym.Curl_dyn_len
test rax, rax
je 0x1401cf7ef
mov rcx, rsi
call sym.Curl_dyn_len
mov rcx, rsi
mov qword [rsp + 0x38], rax
call sym.Curl_dyn_ptr
mov r9, qword [rsp + 0x38]
mov edx, 1
mov rcx, rbx
mov r8, rax
call sym.Curl_client_write
mov r12d, eax
mov rcx, rsi
call sym.Curl_dyn_free
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret