Function at 0x4ad2a0
Capabilities:
Check http status code

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov r11, rsp
sub rsp, 0xd8
mov qword [r11 - 8], rbx
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rsi
mov rsi, qword [rcx]
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x38], r14
mov dword [r11 - 0x50], 0
mov eax, dword [rsi + 0x230]
test eax, eax
mov ebp, 0x36ee80
mov r12, r8
cmovne ebp, eax
xor r8d, r8d
movsxd rax, edx
mov rdi, qword [rcx + rax*8 + 0x118]
xor bl, bl
xor al, al
mov qword [r11 - 0x30], r13
mov r14, rcx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0x60], ebp
mov qword [rsp + 0x78], r8
mov byte [rsp + 0x50], bl
mov byte [rsp + 0x51], al
mov dword [rsp + 0x64], r8d
mov byte [rcx + 0x1b6], al
mov qword [r11 - 0x40], r15
nop
nop
cmp byte [r14 + 0x1ad], 0
jne 0x4ad657
movzx r14d, r9w
lea rdx, str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
mov r8, r12
mov r9d, r14d
mov rcx, rsi
call fcn.00496cb0
mov rcx, qword [rsi + 0x110]
test rcx, rcx
je 0x4ad384
call qword [sub.msvcrt.dll_free]
mov qword [rsi + 0x110], 0
mov edx, 0x18
lea ecx, [rdx - 0x17]
call qword [case.0x49474c.2]
test rax, rax
mov rdi, rax
je 0x4adc68
lea rcx, str._s:_hu
mov r8d, r14d
mov rdx, r12
call fcn.0048ba70
test rax, rax
mov r15, rax
je 0x4adc43
mov rcx, qword [rsp + 0xe0]
lea rdx, str.CONNECT
mov r9b, 1
mov r8, rax
call fcn.004a97f0
test eax, eax
mov ebx, eax
jne 0x4ad626
mov rax, qword [rsp + 0xe0]
lea r13, [0x005785f4]
lea rsi, [0x00558600]
cmp dword [rax + 0xf8], 1
lea rax, [0x005785f0]
lea rbp, [0x00558600]
cmove r13, rax
mov rax, qword [rsp + 0x68]
lea r12, [0x00558600]
mov rbx, qword [rax + 0x268]
test rbx, rbx
je 0x4ad45a
nop
nop
nop
mov rcx, qword [rbx]
lea rdx, str.Host:
mov r8d, 5
call fcn.004b36f0
test eax, eax
jne 0x4ad454
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x4ad430
jmp 0x4ad45a
cmp qword [rbx], 0
jne 0x4ad475
lea rcx, str.Host:__s_r_n
mov rdx, r15
call fcn.0048ba70
test rax, rax
mov rsi, rax
je 0x4adc56
mov rax, qword [rsp + 0x68]
mov rbx, qword [rax + 0x268]
test rbx, rbx
je 0x4ad4ba
nop
nop
nop
mov rcx, qword [rbx]
lea rdx, str.Proxy_Connection:
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.004b36f0
test eax, eax
jne 0x4ad4b4
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x4ad490
jmp 0x4ad4ba
cmp qword [rbx], 0
jne 0x4ad4c1
lea rbp, str.Proxy_Connection:_Keep_Alive_r_n
mov rbx, qword [rsp + 0x68]
mov rbx, qword [rbx + 0x268]
test rbx, rbx
je 0x4ad50a
nop
nop
nop
nop
mov rcx, qword [rbx]
lea rdx, str.User_Agent:
mov r8d, reloc.WS2_32.dll_inet_addr
call fcn.004b36f0
test eax, eax
jne 0x4ad504
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x4ad4e0
jmp 0x4ad50a
cmp qword [rbx], 0
jne 0x4ad534
mov rbx, qword [rsp + 0x68]
cmp qword [rbx + 0x498], 0
je 0x4ad52a
mov rax, qword [rsp + 0xe0]
mov r12, qword [rax + 0x1d8]
jmp 0x4ad53c
mov rax, qword [rsp + 0xe0]
jmp 0x4ad53c
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x1d0]
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], r12
test rax, rax
lea rcx, [0x00558600]
cmovne rcx, rax
lea rdx, str.CONNECT__s:_hu_HTTP__s_r_n_s_s_s_s
mov r9d, r14d
mov qword [rsp + 0x30], rcx
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r13
call fcn.004aa930
test rsi, rsi
mov ebx, eax
je 0x4ad599
cmp byte [rsi], 0
je 0x4ad599
mov rcx, rsi
call qword [sub.msvcrt.dll_free]
test ebx, ebx
jne 0x4ad5f4
mov rbp, qword [rsp + 0xe0]
mov rdx, rdi
mov rcx, rbp
call fcn.004aaaf0
test eax, eax
mov ebx, eax
jne 0x4ad5fb
lea rdx, [0x0055bc60]
mov rcx, rdi
call fcn.004aa930
test eax, eax
mov ebx, eax
jne 0x4ad602
mov eax, dword [rsp + 0xe8]
mov rsi, qword [rsp + 0x68]
xor r9d, r9d
lea r8, [rsi + 0x8840]
mov rdx, rbp
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.004a9d80
mov ebx, eax
jmp 0x4ad607
mov rsi, qword [rsp + 0x68]
jmp 0x4ad607
mov rsi, qword [rsp + 0x68]
jmp 0x4ad607
mov rsi, qword [rsp + 0x68]
xor edi, edi
test ebx, ebx
je 0x4ad622
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rsi
call fcn.00496db0
mov ebp, dword [rsp + 0x60]
jmp 0x4ad626
mov ebp, dword [rsp + 0x60]
mov rcx, r15
call qword [sub.msvcrt.dll_free]
mov rcx, rdi
call fcn.0048c3a0
test ebx, ebx
jne 0x4adc72
mov r14, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x80]
mov byte [r14 + 0x1ad], 1
call fcn.004b2570
mov rdx, qword [r14 + 0x104]
mov rcx, rax
call fcn.004b25b0
mov ecx, ebp
sub ecx, eax
test ecx, ecx
jle 0x4adc79
cmp dword [rsi + 0x648], 2
jne 0x4ad697
xor r8d, r8d
mov rcx, rdi
lea rdx, [r8 - 1]
call fcn.004ae480
test eax, eax
je 0x4add31
mov ebp, 1
xor r12d, r12d
xor ebx, ebx
mov byte [r14 + 0x1ad], 0
lea r13, [rsi + 0x678]
lea rdi, [rsi + 0x678]
mov dword [rsp + 0x54], ebp
xor r15d, r15d
nop
test ebp, ebp
je 0x4adbab
cmp dword [rsp + 0x64], 0
jne 0x4adcf6
call fcn.004b2570
mov rdx, qword [r14 + 0x104]
mov rcx, rax
call fcn.004b25b0
mov ecx, dword [rsp + 0x60]
sub ecx, eax
test ecx, ecx
jle 0x4adc2a
mov r8d, 0x3e8
mov rdx, 0xffffffffffffffff
cmp ecx, r8d
cmovl r8d, ecx
mov rcx, qword [rsp + 0x80]
call fcn.004ae480
cmp eax, 0xffffffff
je 0x4adb69
test eax, eax
je 0x4adb8e
mov rdx, qword [rsp + 0x80]
lea rax, [rsp + 0x70]
mov r9d, 0x4000
sub r9, r12
mov r8, r13
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.00496860
test eax, eax
js 0x4adb9e
test eax, eax
je 0x4ad764
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jg 0x4ad7ad
xor ebp, ebp
cmp dword [rsi + 0x178], ebp
mov dword [rsp + 0x54], ebp
je 0x4ad791
cmp dword [rsi + 0x8770], ebp
je 0x4ad791
mov byte [r14 + 0x1b6], 1
jmp 0x4adb8e
lea rdx, str.Proxy_CONNECT_aborted
mov rcx, rsi
mov dword [rsp + 0x64], 1
call fcn.00496db0
jmp 0x4adb8e
add r12, rcx
cmp ebp, 1
mov qword [rsp + 0x58], r12
jle 0x4ad83e
mov rax, qword [rsp + 0x78]
xor r12d, r12d
lea r13, [rsi + 0x678]
test rax, rax
je 0x4ad7ee
sub rax, rcx
test rax, rax
mov qword [rsp + 0x78], rax
jg 0x4adb8e
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
mov r8, rcx
lea r9, [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0x58], r12
call fcn.004b52c0
cmp eax, 0xffffffff
jne 0x4ad825
lea rdx, str.chunk_reading_DONE_n
mov rcx, rsi
call fcn.00496cb0
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
mov r8, qword [rsp + 0x58]
lea rdx, str.Read__zd_bytes_of_chunk__continue_n
mov rcx, rsi
call fcn.00496cb0
jmp 0x4adb8e
xor r12d, r12d
test rcx, rcx
jle 0x4adb82
nop
nop
inc ebx
inc r15
cmp byte [r13], 0xa
jne 0x4ada20
cmp byte [rsi + 0x3a0], 0
je 0x4ad881
movsxd r9, ebx
mov r8, rdi
mov edx, 1
mov rcx, rsi
mov qword [rsp + 0x20], r14
call fcn.00496ab0
cmp byte [rsi + 0x393], 0
mov edx, 2
mov eax, 3
movsxd r9, ebx
mov r8, rdi
mov rcx, r14
cmovne edx, eax
call fcn.004970a0
test eax, eax
jne 0x4add33
movzx eax, byte [rdi]
cmp al, 0xd
je 0x4ada40
cmp al, 0xa
je 0x4ada40
movzx ebp, byte [r15 + rdi]
lea rcx, str.WWW_Authenticate:
mov r8d, reloc.WS2_32.dll_recvfrom
mov rdx, rdi
mov byte [r15 + rdi], 0
call fcn.004b36f0
test eax, eax
je 0x4ad8ef
mov edx, dword [rsi + 0xc0]
cmp edx, 0x191
je 0x4ad916
lea rcx, str.Proxy_authenticate:
mov r8d, reloc.WS2_32.dll_send
mov rdx, rdi
call fcn.004b36f0
test eax, eax
je 0x4ad92e
mov edx, dword [rsi + 0xc0]
cmp edx, 0x197
jne 0x4ad92e
mov r8, rdi
mov rcx, r14
call fcn.004a9ac0
test eax, eax
jne 0x4add33
jmp 0x4ada0e
lea rcx, str.Content_Length:
mov r8d, reloc.WS2_32.dll_ntohs
mov rdx, rdi
call fcn.004b36f0
test eax, eax
je 0x4ad961
xor edx, edx
lea rcx, [rdi + 0xf]
lea r8d, [rdx + 0xa]
call qword [sym.imp.msvcrt.dll__strtoi64]
mov qword [rsp + 0x78], rax
jmp 0x4ada0e
lea r8, str.close
lea rdx, str.Connection:
mov rcx, rdi
call fcn.004aa0d0
test al, al
je 0x4ad985
mov byte [rsp + 0x50], 1
jmp 0x4ada0e
lea r8, str.chunked
lea rdx, str.Transfer_Encoding:
mov rcx, rdi
call fcn.004aa0d0
test al, al
je 0x4ad9bd
lea rdx, str.CONNECT_responded_chunked_n
mov rcx, rsi
call fcn.00496cb0
mov rcx, r14
mov byte [rsp + 0x51], 1
call fcn.004b52a0
jmp 0x4ada0e
lea r8, str.close
lea rdx, str.Proxy_Connection:
mov rcx, rdi
call fcn.004aa0d0
test al, al
je 0x4ad9de
mov byte [rsp + 0x50], 1
jmp 0x4ada0e
lea r9, [rsi + 0xc0]
lea r8, [rsp + 0x88]
lea rdx, str.HTTP_1._d__d
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_sscanf]
cmp eax, 2
jne 0x4ada0e
mov eax, dword [rsi + 0xc0]
mov dword [rsi + 0x882c], eax
mov rcx, qword [rsp + 0x70]
mov byte [r15 + rdi], bpl
xor ebx, ebx
xor r15d, r15d
lea rdi, [r13 + 1]
inc r12d
inc r13
movsxd rax, r12d
cmp rax, rcx
jl 0x4ad850
mov ebp, dword [rsp + 0x54]
mov r12, qword [rsp + 0x58]
jmp 0x4adb8e
cmp dword [rsi + 0xc0], 0x197
mov qword [rsp + 0x58], 0
lea r13, [rsi + 0x678]
jne 0x4adb5c
cmp byte [rsi + 0x8778], 0
jne 0x4adb5c
mov r8, qword [rsp + 0x78]
mov ebp, 2
test r8, r8
mov dword [rsp + 0x54], ebp
je 0x4adabd
lea rdx, str.Ignore__lld_bytes_of_response_body_n
mov rcx, rsi
call fcn.00496cb0
mov rax, qword [rsp + 0x78]
movsxd r11, r12d
sub r11, qword [rsp + 0x70]
add rax, r11
test rax, rax
mov qword [rsp + 0x78], rax
jg 0x4adb89
mov r12, qword [rsp + 0x58]
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
movzx eax, byte [rsp + 0x51]
test al, al
je 0x4adb4f
mov r8, qword [rsp + 0x70]
movsxd rax, r12d
lea rdx, str._zd_bytes_of_chunk_left_n
mov rcx, rsi
sub r8, rax
mov byte [rsi + 0x105], 1
call fcn.00496cb0
cmp byte [rdi + 1], 0xa
jne 0x4adaf7
inc rdi
inc r12d
mov r8, qword [rsp + 0x70]
movsxd rax, r12d
lea rdx, [rdi + 1]
lea r9, [rsp + 0x70]
mov rcx, r14
sub r8, rax
call fcn.004b52c0
cmp eax, 0xffffffff
jne 0x4adb34
lea rdx, str.chunk_reading_DONE_n
mov rcx, rsi
call fcn.00496cb0
mov r12, qword [rsp + 0x58]
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
mov r8, qword [rsp + 0x70]
lea rdx, str.Read__zd_bytes_of_chunk__continue_n
mov rcx, rsi
call fcn.00496cb0
mov r12, qword [rsp + 0x58]
jmp 0x4adb8e
mov r12, qword [rsp + 0x58]
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
mov r12, qword [rsp + 0x58]
xor ebp, ebp
mov dword [rsp + 0x54], ebp
jmp 0x4adb8e
lea rdx, str.Proxy_CONNECT_aborted_due_to_select_poll_error
mov rcx, rsi
mov dword [rsp + 0x64], 1
call fcn.00496db0
jmp 0x4adb8e
mov r12, qword [rsp + 0x58]
jmp 0x4adb8e
mov r12, qword [rsp + 0x58]
mov rcx, r14
call fcn.004b2b00
test eax, eax
jne 0x4adc92
cmp r12, 0x4000
jb 0x4ad6c0
cmp dword [rsp + 0x64], 0
jne 0x4adcf6
cmp dword [rsi + 0x882c], 0xc8
je 0x4adbe3
mov rcx, r14
call fcn.004aa630
test eax, eax
jne 0x4add33
cmp byte [r14 + 0x1a0], al
je 0x4adbe3
mov bl, 1
mov byte [rsp + 0x50], bl
jmp 0x4adbec
movzx ebx, byte [rsp + 0x50]
test bl, bl
je 0x4adbfa
cmp qword [rsi + 0x110], 0
jne 0x4adc9c
cmp qword [rsi + 0x110], 0
je 0x4adcc1
mov rdi, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x60]
mov r12, qword [rsp + 0xf0]
movzx r9d, word [rsp + 0xf8]
jmp 0x4ad340
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rsi
call fcn.00496db0
mov eax, reloc.WS2_32.dll_getservbyport
jmp 0x4add33
mov rcx, rdi
call qword [sub.msvcrt.dll_free]
mov eax, 0x1b
jmp 0x4add33
mov rcx, rdi
call qword [sub.msvcrt.dll_free]
mov rcx, r15
call qword [sub.msvcrt.dll_free]
mov eax, 0x1b
jmp 0x4add33
mov eax, ebx
jmp 0x4add33
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rsi
call fcn.00496db0
mov eax, reloc.WS2_32.dll_getservbyport
jmp 0x4add33
mov eax, 0x2a
jmp 0x4add33
movsxd rax, dword [rsp + 0xe8]
mov rdi, rax
mov rcx, qword [r14 + rax*8 + 0x118]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r14 + rdi*8 + 0x118], 0xffffffffffffffff
mov r8d, dword [rsi + 0xc0]
cmp r8d, 0xc8
je 0x4adcfd
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rsi
call fcn.00496db0
test bl, bl
je 0x4adcf6
cmp qword [rsi + 0x110], 0
je 0x4adcf6
mov byte [r14 + 0x1b6], 1
mov eax, reloc.WS2_32.dll_getservbyport
jmp 0x4add33
mov rcx, qword [r14 + 0x1d0]
call fcn.0048c3a0
mov qword [r14 + 0x1d0], 0
lea rdx, str.Proxy_replied_OK_to_CONNECT_request_n
mov rcx, rsi
mov byte [rsi + 0x8774], 1
call fcn.00496cb0
mov byte [rsi + 0x105], 0
xor eax, eax
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
add rsp, 0xd8
ret