Function at 0x14018768c
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
and dword [rbp - 0x44], 0
mov rdi, rcx
mov r15, qword [rcx + 0x18]
mov r14, qword [rcx + 0x1b0]
movsxd r12, edx
mov qword [rbp - 0x30], r14
mov rsi, qword [r15 + 0x710]
mov rax, qword [r15 + r12*8 + 0x1f0]
mov qword [rbp - 0x18], rax
test rsi, rsi
je 0x14018816a
lea r13, [rsi + 0x350]
cmp dword [r13], 2
mov qword [rbp - 0x40], r13
jge 0x14018816a
mov byte [r15 + 0x3e8], 0
lea rbx, [rcx + 0x198]
cmp dword [r13], 0
jne 0x140187987
mov r14, qword [rbp + 0x58]
lea rdx, str.Establish_HTTP_proxy_tunnel_to__s:_d
mov r8, r14
lea r12, [rsi + 0x310]
mov rcx, rdi
call fcn.1401992c4
mov rcx, qword [rbx]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
and qword [rbx], 0
mov edx, 0x100000
mov rcx, r12
call fcn.14018c94c
mov al, byte [r15 + 0x3ef]
xor r13d, r13d
cmp r14, qword [r15 + 0xa0]
je 0x14018776e
lea edx, [r13 + 0x3a]
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
setne al
test al, al
lea rcx, [0x1403df1b8]
mov eax, dword [rbp + 0x60]
lea r9, [0x1403de761]
cmovne r9, rcx
mov dword [rsp + 0x20], eax
lea rcx, [0x1403df1bc]
mov r8, r14
lea rdx, [0x1403de761]
cmovne rdx, rcx
lea rcx, str._s_s_s:_d
call fcn.1401823dc
mov r14, rax
test rax, rax
je 0x140187fdd
mov r9d, 4
lea r8, str.Host
mov rdx, r15
mov rcx, rdi
call fcn.14018dba0
test rax, rax
jne 0x1401877ee
mov rdx, r14
lea rcx, str.Host:__s_r_n
call fcn.1401823dc
mov r13, rax
test rax, rax
je 0x140187fd4
mov byte [rsp + 0x28], 1
lea r8, str.CONNECT
xor r9d, r9d
mov qword [rsp + 0x20], r14
mov rdx, r15
mov rcx, rdi
call fcn.14018fa6c
mov ebx, eax
test eax, eax
jne 0x140187955
cmp dword [r15 + 0x13c], 1
lea rax, [0x1403df218]
lea r9, [0x1403df21c]
mov r8, r14
cmove r9, rax
lea rcx, [0x1403de761]
mov rax, qword [rdi + 0x12b0]
lea rdx, str.CONNECT__s_HTTP__s_r_n_s_s
test rax, rax
cmovne rcx, rax
test r13, r13
mov qword [rsp + 0x28], rcx
lea rax, [0x1403de761]
cmovne rax, r13
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.14018c8f4
mov ebx, eax
test eax, eax
jne 0x140187946
lea r9d, [rax + 0xa]
mov rdx, r15
lea r8, str.User_Agent
mov rcx, rdi
call fcn.14018dba0
test rax, rax
jne 0x1401878ba
mov r8, qword [rdi + 0x8a8]
test r8, r8
je 0x1401878ba
lea rdx, str.User_Agent:__s_r_n
mov rcx, r12
call fcn.14018c8f4
mov ebx, eax
test eax, eax
jne 0x140187946
mov r9d, reloc.WS2_32.dll_recv
lea r8, str.Proxy_Connection
mov rdx, r15
mov rcx, rdi
call fcn.14018dba0
test rax, rax
jne 0x1401878f0
lea r8d, [rax + 0x1e]
mov rcx, r12
lea rdx, str.Proxy_Connection:_Keep_Alive_r_n
call fcn.14018c91c
mov ebx, eax
test eax, eax
jne 0x140187946
mov r8, r12
mov dl, 1
mov rcx, rdi
call fcn.14018d400
mov ebx, eax
test eax, eax
jne 0x140187946
lea r8d, [rax + 2]
mov rcx, r12
lea rdx, [0x1403dec9c]
call fcn.14018c91c
mov ebx, eax
test eax, eax
jne 0x140187946
mov eax, dword [rbp + 0x50]
lea r8, [rdi + 0x1358]
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rdx, rdi
mov rcx, r12
call fcn.14018d904
and qword [rsi + 0x338], 0
mov ebx, eax
test eax, eax
je 0x140187955
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rdi
call fcn.1401991f8
mov rcx, r13
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r14
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
test ebx, ebx
jne 0x140187cd0
mov r13, qword [rbp - 0x40]
mov r12d, dword [rbp + 0x50]
mov r14, qword [rbp - 0x30]
mov qword [rbp - 0x40], r13
mov dword [r13], 1
mov r8b, 1
xor edx, edx
mov rcx, rdi
call fcn.1401975a4
test rax, rax
jle 0x140188184
mov edx, r12d
mov rcx, r15
call fcn.1401968e0
test al, al
jne 0x1401879ba
cmp dword [r14 + 0x200], 0
je 0x14018816a
cmp dword [r14 + 0x200], 1
jne 0x140187a17
mov r9, qword [rsi + 0x330]
test r9, r9
jne 0x140187fe7
mov rax, qword [rdi + 0xd20]
lea r8, [rbp - 0x20]
mov qword [rdi + 0x1a8], rax
mov rcx, rdi
mov edx, dword [rdi + 0x720]
call fcn.14018862c
test eax, eax
jne 0x14018816c
mov r9, qword [rbp - 0x20]
mov qword [rsi + 0x330], r9
test r9, r9
jne 0x140187fe7
and dword [r14 + 0x200], r9d
xor ebx, ebx
mov dword [rbp - 0x48], ebx
cmp dword [rsi + 0x340], ebx
je 0x140187ab9
xor r12d, r12d
mov rdx, qword [rbp - 0x18]
lea rax, [rbp - 0x38]
mov r9d, 1
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x48]
mov rcx, rdi
call fcn.140199364
mov ebx, eax
cmp eax, 0x51
je 0x14018816a
mov rcx, rdi
call fcn.1401986e8
test eax, eax
jne 0x14018817d
test ebx, ebx
jne 0x140187aab
cmp qword [rbp - 0x38], r12
jle 0x140187f31
cmp dword [rsi + 0x340], 2
jne 0x140187b83
mov rax, qword [rsi + 0x348]
test rax, rax
je 0x140187b3c
dec rax
mov qword [rsi + 0x348], rax
test rax, rax
jg 0x140187f1f
mov dword [r13], 2
mov dword [rsi + 0x340], r12d
mov ebx, dword [rbp - 0x48]
mov r12d, dword [rbp + 0x50]
mov rcx, rdi
call fcn.1401986e8
test eax, eax
jne 0x14018817d
test ebx, ebx
jne 0x14018804f
lea r14, [rdi + 0x133c]
mov eax, dword [r14]
sub eax, 0xc8
cmp eax, 0x64
jb 0x140187b0c
mov rcx, rdi
call fcn.14018dd94
test eax, eax
jne 0x14018816c
cmp byte [r15 + 0x3ea], al
je 0x140187b0c
mov byte [rsi + 0x355], 1
lea r14, [rdi + 0x133c]
cmp byte [rsi + 0x355], 0
je 0x140187f88
lea rbx, [rdi + 0x198]
cmp qword [rbx], 0
jne 0x140188059
lea r14, [rdi + 0x133c]
mov r12, rbx
mov rax, rbx
jmp 0x140187fb8
lea rax, [rbp - 0x28]
mov qword [rbp - 0x10], r12
lea r9, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rdx, [rbp + 0x48]
mov rcx, rdi
call fcn.1401a863c
cmp eax, 0xffffffff
jne 0x140187f1f
lea rdx, str.chunk_reading_DONE
mov rcx, rdi
call fcn.1401992c4
mov dword [rsi + 0x340], r12d
jmp 0x140187f17
lea rbx, [rsi + 0x2f0]
mov r8d, 1
mov rcx, rbx
lea rdx, [rbp + 0x48]
call fcn.14018c91c
test eax, eax
jne 0x140188040
cmp byte [rbp + 0x48], 0xa
jne 0x140187f1f
inc qword [rsi + 0x338]
mov rcx, rbx
call case.0x140065334.293
mov rcx, rbx
mov r14, rax
call fcn.14018c960
mov r9, rax
mov r8, r14
mov edx, 1
mov rcx, rdi
mov rbx, rax
call fcn.140199120
cmp byte [rdi + 0xb25], r12b
jne 0x140187c1f
cmp byte [rdi + 0xb0c], r12b
mov ecx, 0xa
mov edx, r12d
mov r9, rbx
setne dl
mov r8, r14
cmp qword [rsi + 0x338], 1
lea eax, [rcx + 4]
cmove ecx, eax
or edx, ecx
mov rcx, rdi
call fcn.140199110
test eax, eax
jne 0x14018816c
movsxd rax, ebx
add qword [rdi + 0x1350], rax
cmp byte [r14], 0xd
je 0x140187e51
cmp byte [r14], 0xa
je 0x140187e51
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.WWW_Authenticate:
mov rcx, r14
call fcn.1401a1a0c
lea rbx, [rdi + 0x158]
test eax, eax
je 0x140187c6c
mov r12d, dword [rbx]
cmp r12d, 0x191
je 0x140187c91
xor r12d, r12d
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Proxy_authenticate:
mov rcx, r14
call fcn.1401a1a0c
test eax, eax
je 0x140187cda
mov r12d, dword [rbx]
cmp r12d, 0x197
jne 0x140187cd7
mov rcx, r14
call fcn.14018dcc4
mov r14, rax
test rax, rax
je 0x140187fdd
cmp r12d, 0x197
mov r8, rax
mov rcx, rdi
sete dl
call fcn.14018f758
mov rcx, r14
mov ebx, eax
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r12d, r12d
test ebx, ebx
je 0x140187e40
mov eax, ebx
jmp 0x14018816c
xor r12d, r12d
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, str.Content_Length:
mov rcx, r14
call fcn.1401a1a0c
test eax, eax
je 0x140187d3d
mov r8d, dword [rbx]
lea eax, [r8 - 0xc8]
cmp eax, 0x64
jae 0x140187d16
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response
mov rcx, rdi
call fcn.1401992c4
jmp 0x140187e40
lea rcx, str.Content_Length:
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
xor edx, edx
lea r9, [rsi + 0x348]
lea rcx, [r14 + rax]
lea r8d, [rdx + 0xa]
call fcn.1401a8980
jmp 0x140187e40
lea r9, str.close
mov qword [rsp + 0x20], 5
mov r8d, listen
lea rdx, str.Connection:
mov rcx, r14
call fcn.14018dc18
test al, al
jne 0x140187e39
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Transfer_Encoding:
mov rcx, r14
call fcn.1401a1a0c
test eax, eax
je 0x140187de7
mov r8d, dword [rbx]
lea eax, [r8 - 0xc8]
cmp eax, 0x64
jae 0x140187d9e
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response
jmp 0x140187d09
lea r9, str.chunked
mov qword [rsp + 0x20], 7
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Transfer_Encoding:
mov rcx, r14
call fcn.14018dc18
test al, al
je 0x140187e40
lea rdx, str.CONNECT_responded_chunked
mov rcx, rdi
call fcn.1401992c4
mov rcx, rdi
mov byte [rsi + 0x354], 1
call fcn.1401a861c
jmp 0x140187e40
lea r9, str.close
mov qword [rsp + 0x20], 5
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.Proxy_Connection:
mov rcx, r14
call fcn.14018dc18
test al, al
jne 0x140187e39
mov r9, rbx
lea r8, [rbp - 0x44]
lea rdx, str.HTTP_1._d__d
mov rcx, r14
call fcn.140188544
cmp eax, 2
jne 0x140187e40
mov eax, dword [rdi + 0x158]
mov dword [rdi + 0x133c], eax
jmp 0x140187e40
mov byte [rsi + 0x355], 1
lea rcx, [rsi + 0x2f0]
call fcn.14018c968
jmp 0x140187f1f
cmp dword [rdi + 0x158], 0x197
jne 0x140187efa
cmp byte [rdi + 0x1325], r12b
jne 0x140187efa
mov r8, qword [rsi + 0x348]
mov dword [rsi + 0x340], 2
test r8, r8
je 0x140187e95
lea rdx, str.Ignore__I64d_bytes_of_response_body
mov rcx, rdi
call fcn.1401992c4
jmp 0x140187f01
cmp byte [rsi + 0x354], r12b
je 0x140187efa
lea rdx, str.Ignore_chunked_response_body
mov rcx, rdi
call fcn.1401992c4
lea rax, [r14 + 1]
mov byte [rdi + 0x1c3], 1
cmp byte [rax], 0xa
lea r9, [rbp - 0x38]
mov r8d, 1
mov rcx, rdi
cmove r14, rax
lea rax, [rbp - 0x24]
mov qword [rsp + 0x20], rax
lea rdx, [r14 + 1]
call fcn.1401a863c
cmp eax, 0xffffffff
jne 0x140187f01
lea rdx, str.chunk_reading_DONE
mov rcx, rdi
call fcn.1401992c4
mov dword [r13], 2
mov dword [rsi + 0x340], r12d
cmp dword [rsi + 0x340], r12d
jne 0x140187a2b
cmp qword [rsi + 0x348], r12
jne 0x140187f1f
mov dword [r13], 2
cmp dword [rsi + 0x340], r12d
jne 0x140187a2b
jmp 0x140187ab2
cmp dword [rdi + 0x218], r12d
je 0x140187f68
cmp dword [rdi + 0xe50], r12d
je 0x140187f68
cmp qword [rdi + 0x12b0], r12
je 0x140187f68
lea rdx, str.Proxy_CONNECT_connection_closed
mov byte [r15 + 0x3e8], 1
mov rcx, rdi
call fcn.1401992c4
mov ebx, dword [rbp - 0x48]
jmp 0x140187f7c
lea rdx, str.Proxy_CONNECT_aborted
mov rcx, rdi
mov ebx, 1
call fcn.1401991f8
mov dword [rsi + 0x340], r12d
jmp 0x140187ab5
lea r12, [rdi + 0x198]
cmp qword [r12], 0
mov rbx, r12
mov rax, r12
je 0x14018807d
cmp dword [r13], 2
jne 0x140187fb8
mov dl, 1
mov rcx, rdi
call fcn.140188448
lea rax, [rdi + 0x198]
cmp qword [r12], 0
je 0x14018807d
mov r12d, dword [rbp + 0x50]
mov r14, qword [rbp - 0x30]
mov r9d, dword [rbp + 0x60]
jmp 0x140187707
mov rcx, r14
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0x1b
jmp 0x14018816c
mov r8, qword [rdi + 0x1a8]
lea rax, [rbp + 0x48]
mov rdx, qword [r15 + 0x450]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140199790
mov r8d, eax
test eax, eax
jne 0x140188026
mov r9, qword [rbp + 0x48]
lea edx, [rax + 2]
mov r8, qword [rdi + 0x1a8]
mov rcx, rdi
call fcn.140199120
mov r8d, eax
mov rcx, qword [rbp + 0x48]
mov eax, r8d
sub qword [rsi + 0x330], rcx
add qword [rdi + 0x1a8], rcx
jmp 0x14018816c
lea rdx, str.CONNECT_response_too_large
mov rcx, rdi
call fcn.1401991f8
mov eax, 0x38
jmp 0x14018816c
movsxd r8, r12d
mov rdx, r15
mov rcx, rdi
mov r8, qword [r15 + r8*8 + 0x1f0]
call fcn.140196854
movsxd rax, r12d
or qword [r15 + rax*8 + 0x1f0], 0xffffffffffffffff
jmp 0x140188080
mov rbx, rax
mov eax, dword [rdi + 0x133c]
sub eax, 0xc8
cmp eax, 0x64
jb 0x140188116
cmp byte [rsi + 0x355], 0
je 0x1401880c4
cmp qword [rbx], 0
je 0x1401880c4
lea rdx, str.Connect_me_again_please
mov byte [r15 + 0x3e8], 1
mov rcx, rdi
call fcn.1401992c4
mov rcx, rdi
call fcn.1401881b8
jmp 0x1401880de
mov rcx, qword [rbx]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
and qword [rbx], 0
mov edx, 2
mov rcx, r15
call fcn.14019698c
and dword [rsi + 0x350], 0
cmp byte [r15 + 0x3e8], 0
jne 0x14018816a
lea rcx, [rsi + 0x2f0]
call fcn.14018c924
mov r8d, dword [rdi + 0x158]
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rdi
call fcn.1401991f8
jmp 0x14018804f
mov dword [rsi + 0x350], 2
mov rcx, qword [rdi + 0x12b0]
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ebx, ebx
lea rdx, str.Proxy_replied__d_to_CONNECT_request
mov qword [rdi + 0x12b0], rbx
mov rcx, rdi
mov r8d, dword [r14]
mov word [rdi + 0xe54], 1
call fcn.1401992c4
mov byte [rdi + 0x1c3], bl
lea rcx, [rsi + 0x2f0]
mov byte [r15 + 0x3f5], bl
call fcn.14018c924
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, 0x2a
jmp 0x14018816c
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rdi
call fcn.1401991f8
mov eax, 0x1c
jmp 0x14018816c