Function at 0x1400226c4
Capabilities:
Check http status code

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov rbx, qword [rcx]
xor r13d, r13d
mov rdi, qword [rcx + 0x8a8]
mov r12d, r9d
movsxd r15, edx
mov r14, r8
mov rsi, rcx
mov dword [rbp + 0x48], r13d
mov qword [rbp - 0x20], r15
mov rax, qword [rcx + r15*8 + 0x240]
mov qword [rbp - 0x18], rax
call fcn.1400225e4
test al, al
jne 0x1400230b1
btr dword [rcx + 0x3c4], 0x17
cmp dword [rdi + 0x4020], r13d
jne 0x1400229c1
mov r9d, r12d
lea rdx, str.Establish_HTTP_proxy_tunnel_to__s:_d_n
mov r8, r14
mov rcx, rbx
call fcn.140010bf0
mov rcx, qword [rbx + 0x1e0]
call qword [fcn.1400b8804]
mov qword [rbx + 0x1e0], r13
call fcn.14002566c
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140022f74
mov r8d, r12d
lea rcx, str._s:_d
mov rdx, r14
call fcn.14001f3e4
mov r15, rax
test rax, rax
je 0x140022f6b
mov r9b, 1
lea rdx, str.CONNECT
mov r8, rax
mov rcx, rsi
call fcn.14002515c
mov rcx, r15
mov r14d, eax
call qword [fcn.1400b8804]
test r14d, r14d
jne 0x14002299a
cmp dword [rsi + 0x16c], 1
lea rax, [0x140170210]
mov r14, qword [rbp + 0x58]
lea r15, [0x14016c074]
mov r12, r13
mov qword [rbp - 0x30], r15
lea r13, [0x140170214]
cmove r13, rax
mov eax, dword [rsi + 0x3c4]
shr eax, 9
and al, 1
cmp r14, qword [rsi + 0xd0]
je 0x140022809
mov edx, reloc.OLEAUT32.dll_VarI4FromI2
mov rcx, r14
call fcn.140091f40
test rax, rax
setne al
test al, al
lea rcx, [0x14016f418]
mov eax, dword [rbp + 0x60]
mov r9, r15
cmovne r9, rcx
mov dword [rsp + 0x20], eax
lea rcx, [0x14016f41c]
mov rdx, r15
cmovne rdx, rcx
mov r8, r14
lea rcx, str._s_s_s:_d
call fcn.14001f3e4
mov r15, rax
test rax, rax
je 0x140022f6b
lea rdx, str.Host
mov rcx, rsi
call fcn.14002485c
test rax, rax
jne 0x140022878
mov rdx, r15
lea rcx, str.Host:__s_r_n
call fcn.14001f3e4
mov r12, rax
test rax, rax
je 0x140022f62
lea rdx, str.Proxy_Connection
mov rcx, rsi
call fcn.14002485c
test rax, rax
lea r14, str.Proxy_Connection:_Keep_Alive_r_n
lea rax, [0x14016c074]
mov rcx, rsi
lea rdx, str.User_Agent
cmovne r14, rax
call fcn.14002485c
test rax, rax
jne 0x1400228c4
cmp qword [rbx + 0xcf8], rax
je 0x1400228c4
mov rax, qword [rsi + 0x430]
mov qword [rbp - 0x30], rax
mov rax, qword [rsi + 0x428]
lea rdx, [0x14016c074]
test rax, rax
mov qword [rsp + 0x38], r14
mov rcx, rdx
mov r9, r13
cmovne rcx, rax
mov r8, r15
mov rax, rdx
test r12, r12
mov rdx, qword [rbp - 0x30]
mov qword [rsp + 0x30], rdx
cmovne rax, r12
mov qword [rsp + 0x28], rcx
lea rdx, str.CONNECT__s_HTTP__s_r_n_s_s_s_s
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x20], rax
call fcn.1400258e8
xor r13d, r13d
mov r14d, eax
test r12, r12
je 0x140022928
mov rcx, r12
call qword [fcn.1400b8804]
mov rcx, r15
call qword [fcn.1400b8804]
test r14d, r14d
jne 0x140022982
mov r8, qword [rbp - 0x38]
mov dl, 1
mov rcx, rsi
call fcn.140025fa8
mov r14d, eax
test eax, eax
jne 0x140022982
lea rdx, [0x14016c130]
lea rcx, [rbp - 0x38]
call fcn.1400258e8
mov r14d, eax
test eax, eax
jne 0x140022982
mov eax, dword [rbp + 0x50]
lea r8, [rbx + 0x14e0]
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.1400256b4
mov r14d, eax
mov qword [rbp - 0x38], r13
test r14d, r14d
je 0x14002299a
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rbx
call fcn.140010ce0
lea rcx, [rbp - 0x38]
call fcn.14002567c
test r14d, r14d
jne 0x140022c29
mov r15d, dword [rbp + 0x50]
mov dword [rdi + 0x4020], 1
mov dword [rdi + 0x4000], r13d
mov r8b, 1
xor edx, edx
mov rcx, rbx
call fcn.140011890
test rax, rax
jle 0x1400230cb
mov edx, r15d
mov rcx, rsi
call fcn.140012ddc
test al, al
je 0x1400230b1
cmp dword [rdi + 0x4004], 0
je 0x140022ebf
lea r12, [rdi + 0x4000]
xor r15d, r15d
mov r8, qword [rdi + 0x4010]
cmp r8, r12
jae 0x140022f7e
mov rdx, qword [rbp - 0x18]
lea rax, [rbp - 0x28]
mov r9d, 1
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1400113a4
mov r14d, eax
cmp eax, 0x51
je 0x1400230b1
mov rcx, rsi
call fcn.140023cd4
test eax, eax
jne 0x1400230c4
test r14d, r14d
jne 0x140022eb4
cmp qword [rbp - 0x28], r15
jle 0x140022e74
cmp dword [rdi + 0x4004], 1
jle 0x140022ad6
mov rax, qword [rdi + 0x4018]
mov qword [rdi + 0x4010], rdi
test rax, rax
je 0x140022a99
dec rax
mov qword [rdi + 0x4018], rax
test rax, rax
jg 0x140022e66
mov dword [rdi + 0x4020], 2
jmp 0x140022eb4
lea r9, [rbp - 0x30]
mov qword [rbp - 0x30], r15
mov r8d, 1
mov rdx, rdi
mov rcx, rsi
call fcn.140043ed4
cmp eax, 0xffffffff
jne 0x140022e66
lea rdx, str.chunk_reading_DONE_n
mov rcx, rbx
call fcn.140010bf0
mov dword [rdi + 0x4004], r15d
jmp 0x140022e5c
mov ecx, dword [r12]
mov rax, qword [rdi + 0x4010]
inc ecx
mov dword [r12], ecx
cmp byte [rax], 0xa
je 0x140022afb
inc rax
mov qword [rdi + 0x4010], rax
jmp 0x140022e66
test dword [rbx + 0xe70], 0x4000000
je 0x140022b1e
mov r8, qword [rdi + 0x4008]
mov edx, 1
movsxd r9, ecx
mov rcx, rbx
call fcn.1400114d0
test dword [rbx + 0xe74], 0x80000
jne 0x140022b58
mov edx, dword [rbx + 0xe70]
mov rcx, rsi
movsxd r9, dword [r12]
and edx, 0x200000
mov r8, qword [rdi + 0x4008]
bts edx, 0x16
shr edx, 0x15
call fcn.14001134c
test eax, eax
jne 0x1400230b3
movsxd rax, dword [r12]
add qword [rbx + 0x14d8], rax
movsxd rax, dword [r12]
add qword [rbx + 0x120], rax
mov rcx, qword [rdi + 0x4008]
cmp byte [rcx], 0xd
je 0x140022d95
cmp byte [rcx], 0xa
je 0x140022d95
movsxd rax, dword [r12]
mov r8d, reloc.WS2_32.dll_recvfrom
mov byte [rax + rcx], r15b
lea rcx, str.WWW_Authenticate:
mov r15, qword [rdi + 0x4008]
mov rdx, r15
call fcn.14001e048
test eax, eax
je 0x140022bbf
mov r14d, dword [rbx + 0x190]
cmp r14d, 0x191
je 0x140022be8
mov r8d, reloc.WS2_32.dll_send
lea rcx, str.Proxy_authenticate:
mov rdx, r15
call fcn.14001e048
test eax, eax
je 0x140022c31
mov r14d, dword [rbx + 0x190]
cmp r14d, 0x197
jne 0x140022c31
mov rcx, r15
call fcn.1400248ec
mov r15, rax
test rax, rax
je 0x140022f74
cmp r14d, 0x197
mov r8, rax
mov rcx, rsi
sete dl
call fcn.140025288
mov rcx, r15
mov r14d, eax
call qword [fcn.1400b8804]
xor r15d, r15d
test r14d, r14d
je 0x140022d7e
mov eax, r14d
jmp 0x1400230b3
mov r8d, reloc.WS2_32.dll_ntohs
lea rcx, str.Content_Length:
mov rdx, r15
call fcn.14001e048
test eax, eax
je 0x140022c8c
mov r8d, dword [rbx + 0x190]
lea eax, [r8 - 0xc8]
cmp eax, 0x64
jae 0x140022c6e
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response_n
mov rcx, rbx
call fcn.140010bf0
jmp 0x140022c84
xor edx, edx
lea r9, [rdi + 0x4018]
lea rcx, [r15 + 0xf]
lea r8d, [rdx + 0xa]
call fcn.14002bfe0
xor r15d, r15d
jmp 0x140022d7e
lea r8, str.close
mov rcx, r15
lea rdx, str.Connection:
call fcn.140025a64
xor r15d, r15d
test al, al
jne 0x140022d46
mov r14, qword [rdi + 0x4008]
lea r8d, [r15 + 0x12]
mov rdx, r14
lea rcx, str.Transfer_Encoding:
call fcn.14001e048
test eax, eax
je 0x140022d2c
mov r8d, dword [rbx + 0x190]
lea eax, [r8 - 0xc8]
cmp eax, 0x64
jae 0x140022cf2
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
mov rcx, rbx
call fcn.140010bf0
jmp 0x140022d7e
lea r8, str.chunked
mov rcx, r14
lea rdx, str.Transfer_Encoding:
call fcn.140025a64
test al, al
je 0x140022d7e
lea rdx, str.CONNECT_responded_chunked_n
mov rcx, rbx
call fcn.140010bf0
or dword [rdi + 0x4024], 1
mov rcx, rsi
call fcn.140043ec8
jmp 0x140022d7e
lea r8, str.close
mov rcx, r14
lea rdx, str.Proxy_Connection:
call fcn.140025a64
test al, al
je 0x140022d4f
or dword [rdi + 0x4024], 2
jmp 0x140022d7e
mov rcx, qword [rdi + 0x4008]
lea r14, [rbx + 0x190]
mov r9, r14
lea r8, [rbp + 0x48]
lea rdx, str.HTTP_1._d__d
call fcn.1400136a8
cmp eax, 2
jne 0x140022d7e
mov eax, dword [r14]
mov dword [rbx + 0x14c4], eax
mov dword [r12], r15d
mov qword [rdi + 0x4010], rdi
mov qword [rdi + 0x4008], rdi
jmp 0x140022e66
mov qword [rdi + 0x4010], rdi
cmp dword [rbx + 0x190], 0x197
jne 0x140022e4c
test byte [rbx + 0x146c], 0x20
jne 0x140022e4c
mov r8, qword [rdi + 0x4018]
mov dword [rdi + 0x4004], 2
test r8, r8
je 0x140022de0
lea rdx, str.Ignore__I64d_bytes_of_response_body_n
mov rcx, rbx
call fcn.140010bf0
jmp 0x140022e53
test byte [rdi + 0x4024], 1
je 0x140022e4c
lea rdx, str.Ignore_chunked_response_body_n
mov rcx, rbx
call fcn.140010bf0
or dword [rbx + 0x670], 8
mov rdx, qword [rdi + 0x4008]
lea rax, [rdx + 1]
cmp byte [rax], 0xa
jne 0x140022e19
mov qword [rdi + 0x4008], rax
mov rdx, rax
inc rdx
lea r9, [rbp - 0x28]
mov r8d, 1
mov rcx, rsi
call fcn.140043ed4
cmp eax, 0xffffffff
jne 0x140022e53
lea rdx, str.chunk_reading_DONE_n
mov rcx, rbx
call fcn.140010bf0
mov dword [rdi + 0x4020], 2
mov dword [rdi + 0x4004], r15d
cmp qword [rdi + 0x4018], r15
jne 0x140022e66
mov dword [rdi + 0x4020], 2
cmp dword [rdi + 0x4004], r15d
je 0x140022ebb
jmp 0x140022a01
cmp dword [rbx + 0x6c0], r15d
je 0x140022e9f
cmp dword [rbx + 0x1158], r15d
je 0x140022e9f
bts dword [rsi + 0x3c4], 0x17
lea rdx, str.Proxy_CONNECT_connection_closed_n
mov rcx, rbx
call fcn.140010bf0
jmp 0x140022eb4
lea rdx, str.Proxy_CONNECT_aborted
mov rcx, rbx
mov r13d, 1
call fcn.140010ce0
mov dword [rdi + 0x4004], r15d
mov r15d, dword [rbp + 0x50]
mov rcx, rsi
call fcn.140023cd4
test eax, eax
jne 0x1400230c4
test r13d, r13d
jne 0x140022f8d
mov eax, dword [rbx + 0x14c4]
mov r12d, reloc.WLDAP32.dll_Ordinal_200
sub eax, r12d
cmp eax, 0x64
jb 0x140022f11
mov rcx, rsi
call fcn.140024d78
xor r13d, r13d
test eax, eax
jne 0x1400230b3
test byte [rsi + 0x3c4], 1
je 0x140022f14
or dword [rdi + 0x4024], 2
jmp 0x140022f14
xor r13d, r13d
test byte [rdi + 0x4024], 2
je 0x140022f26
cmp qword [rbx + 0x1e0], r13
jne 0x140022f97
mov rax, qword [rbx + 0x1e0]
test rax, rax
je 0x140022fb6
cmp dword [rdi + 0x4020], 2
jne 0x140022f50
mov dl, 1
mov rcx, rsi
call fcn.14002261c
mov rax, qword [rbx + 0x1e0]
test rax, rax
je 0x140022fb6
mov r14, qword [rbp + 0x58]
mov r12d, dword [rbp + 0x60]
jmp 0x140022727
mov rcx, r15
call qword [fcn.1400b8804]
lea rcx, [rbp - 0x38]
call fcn.14002567c
mov eax, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400230b3
lea rdx, str.CONNECT_response_too_large_
mov rcx, rbx
call fcn.140010ce0
mov eax, gethostname
jmp 0x1400230b3
mov r14, qword [rbp - 0x20]
mov rcx, rsi
mov rdx, qword [rsi + r14*8 + 0x240]
call fcn.140012c10
or qword [rsi + r14*8 + 0x240], 0xffffffffffffffff
jmp 0x140022fba
mov r14, qword [rbp - 0x20]
mov eax, dword [rbx + 0x14c4]
sub eax, r12d
cmp eax, 0x64
jb 0x140023067
test byte [rdi + 0x4024], 2
je 0x140022fff
cmp qword [rbx + 0x1e0], r13
je 0x140022fff
bts dword [rsi + 0x3c4], 0x17
lea rdx, str.Connect_me_again_please_n
mov rcx, rbx
call fcn.140010bf0
mov rcx, rsi
call fcn.1400226a4
jmp 0x140023039
mov rcx, qword [rbx + 0x1e0]
call qword [fcn.1400b8804]
mov edx, 2
mov qword [rbx + 0x1e0], r13
mov rcx, rsi
call fcn.140012d7c
mov rdx, qword [rsi + r14*8 + 0x240]
mov rcx, rsi
call fcn.140012c10
or qword [rsi + r14*8 + 0x240], 0xffffffffffffffff
mov dword [rdi + 0x4020], r13d
test dword [rsi + 0x3c4], 0x800000
jne 0x1400230b1
mov r8d, dword [rbx + 0x190]
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rbx
call fcn.140010ce0
jmp 0x140022f8d
mov dword [rdi + 0x4020], 2
mov rcx, qword [rsi + 0x428]
call qword [fcn.1400b8804]
mov qword [rsi + 0x428], r13
lea rdx, str.Proxy_replied__d_to_CONNECT_request_n
mov r8d, dword [rbx + 0x14c4]
mov rcx, rbx
or dword [rbx + 0x115c], 1
call fcn.140010bf0
and dword [rbx + 0x670], 0xfffffff7
btr dword [rsi + 0x3c4], 0x10
xor eax, eax
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, Ordinal_45
jmp 0x1400230b3
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rbx
call fcn.140010ce0
mov eax, Ordinal_32
jmp 0x1400230b3