Function at 0x47e1f0
Capabilities:
Check http status code

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov r15, qword [rcx]
mov r13, rcx
mov dword [rsp + 0x9c], edx
mov qword [rsp + 0x88], r8
mov dword [rsp + 0xa8], r9d
mov dword [rsp + 0xcc], 0
mov eax, dword [r15 + 0x2b0]
mov edi, eax
test eax, eax
mov eax, 0x36ee80
cmovne eax, edi
mov dword [rsp + 0x4c], eax
movsxd rax, edx
lea rdi, [rcx + rax*8]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x78], rax
mov eax, dword [rax + 0x6e0]
mov qword [rsp + 0x90], rdi
mov rdi, qword [rdi + 0x190]
cmp eax, 2
mov qword [rsp + 0x40], rdi
je 0x47e933
lea rdi, [rsp + 0xd0]
mov byte [rcx + 0x2ae], 0
mov byte [rsp + 0x9b], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x50], rdi
lea rdi, [rsp + 0xcc]
mov qword [rsp + 0xb0], rdi
lea rdi, [rsp + 0xd8]
mov qword [rsp + 0x80], rdi
test eax, eax
je 0x47e9a4
lea rax, [r15 + 0x7b8]
mov ebp, 1
xor edi, edi
xor r14d, r14d
xor ebx, ebx
mov byte [rsp + 0x9a], 0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x58], rax
mov r12, rax
nop word [rax + rax]
test ebx, ebx
jne 0x47e42b
test ebp, ebp
je 0x47e42b
call fcn.00458870
mov rdx, qword [r13 + 0x17c]
mov rcx, rax
call fcn.004588b0
mov esi, dword [rsp + 0x4c]
sub esi, eax
test esi, esi
jle 0x47e7b0
mov rcx, qword [rsp + 0x40]
cmp esi, 0x3e8
mov r8, 0xffffffffffffffff
mov r9d, 0x3e8
mov rdx, r8
cmovle r9d, esi
call fcn.0044c700
cmp eax, 0xffffffff
je 0x47e550
test eax, eax
je 0x47e410
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov r9d, 0x4000
sub r9, r14
mov r8, r12
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.0044e730
cmp eax, 0x51
je 0x47e580
test eax, eax
jne 0x47e570
mov r8, qword [rsp + 0xd0]
test r8, r8
jle 0x47e590
add r14, r8
cmp ebp, 1
jle 0x47e5e0
cmp qword [rsp + 0x68], 0
je 0x47e7e0
sub qword [rsp + 0x68], r8
xor ebx, ebx
xor r14d, r14d
cmp qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x70]
mov rcx, r13
mov r12, rax
cmovle ebp, ebx
call fcn.0045c470
test eax, eax
je 0x47e41e
nop dword [rax + rax]
mov ebx, 0x2a
jmp 0x47e7c4
mov r12, r14
mov qword [rsp + 0x58], rbp
mov r14, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0xac]
mov r13, qword [rsp + 0x60]
nop dword [rax]
xor ebx, ebx
mov rcx, r13
call fcn.0045c470
test eax, eax
jne 0x47e3e0
cmp r14, 0x3fff
jbe 0x47e2f0
test ebx, ebx
jne 0x47e4d5
cmp dword [r15 + 0x922c], 0xc8
je 0x47e4e0
mov rcx, r13
call fcn.00460b00
test eax, eax
jne 0x47e751
cmp byte [r13 + 0x298], 0
je 0x47e4e0
cmp qword [r15 + 0x170], 0
jne 0x47ecbd
mov byte [rsp + 0x9a], 1
mov r8d, dword [r15 + 0xc8]
cmp r8d, 0xc8
je 0x47eb79
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, r15
call fcn.0044ea90
cmp byte [rsp + 0x9a], 0
mov rcx, qword [r15 + 0x170]
jne 0x47ecec
test rcx, rcx
je 0x47e4c6
call qword [sub.msvcrt.dll_free]
mov qword [r15 + 0x170], 0
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x6e0], 0
mov ebx, 0x38
jmp 0x47e7c4
cmp byte [rsp + 0x9a], 0
jne 0x47e462
cmp qword [r15 + 0x170], 0
je 0x47e478
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x6e0]
cmp eax, 2
jne 0x47e2ba
mov rdi, qword [rsp + 0x78]
lea rdx, str.TUNNEL_STATE_switched_to:__d_n
xor r8d, r8d
mov rcx, r15
mov dword [rdi + 0x6e0], 0
call fcn.0044e9e0
cmp qword [r15 + 0x170], 0
je 0x47e478
mov eax, dword [rdi + 0x6e0]
jmp 0x47e2ba
lea rdx, str.Proxy_CONNECT_aborted_due_to_select_poll_error
mov rcx, r15
mov ebx, 1
call fcn.0044ea90
jmp 0x47e412
xor ebp, ebp
xor ebx, ebx
jmp 0x47e412
xor ebx, ebx
jmp 0x47e41e
mov edx, dword [r15 + 0x1d8]
test edx, edx
je 0x47e5c0
mov eax, dword [r15 + 0x9138]
test eax, eax
je 0x47e5c0
mov byte [r13 + 0x2ae], 1
xor ebp, ebp
xor ebx, ebx
jmp 0x47e412
lea rdx, str.Proxy_CONNECT_aborted
mov rcx, r15
xor ebp, ebp
mov ebx, 1
call fcn.0044ea90
jmp 0x47e412
lea rax, [r15 + 0xc8]
mov rbx, r12
mov dword [rsp + 0xac], ebp
add rbx, 1
mov esi, 1
xor r12d, r12d
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xa0], r14
mov rbp, qword [rsp + 0x58]
mov qword [rsp + 0x60], r13
jmp 0x47e639
mov r12, rsi
add rbx, 1
add rsi, 1
cmp r12, qword [rsp + 0xd0]
jge 0x47e3f0
add edi, 1
cmp byte [rbx - 1], 0xa
lea r13d, [rsi - 1]
mov r14, rbx
jne 0x47e620
cmp byte [r15 + 0x448], 0
movsxd r11, edi
jne 0x47e780
cmp byte [r15 + 0x43c], 1
mov rcx, qword [rsp + 0x60]
mov r9, r11
mov r8, rbp
mov qword [rsp + 0x58], r11
sbb edx, edx
add edx, 3
call fcn.0044ecf0
add dword [r15 + 0x923c], edi
add dword [r15 + 0x60], edi
test eax, eax
jne 0x47e751
movzx eax, byte [rbp]
cmp al, 0xa
je 0x47e95f
cmp al, 0xd
mov r11, qword [rsp + 0x58]
je 0x47e95f
lea rdi, [rbp + r11]
lea rcx, str.WWW_Authenticate:
mov r8d, 0x11
mov rdx, rbp
movzx r12d, byte [rdi]
mov byte [rdi], 0
call fcn.0045a980
test eax, eax
je 0x47e6dc
mov edx, dword [r15 + 0xc8]
cmp edx, 0x191
je 0x47e740
lea rcx, str.Proxy_authenticate:
mov r8d, 0x13
mov rdx, rbp
call fcn.0045a980
test eax, eax
je 0x47e704
mov edx, dword [r15 + 0xc8]
cmp edx, 0x197
je 0x47e740
lea rcx, str.Content_Length:
mov r8d, 0xf
mov rdx, rbp
call fcn.0045a980
test eax, eax
je 0x47e755
lea rcx, [rbp + 0xf]
mov r8d, 0xa
xor edx, edx
call fcn.0064abe0
mov qword [rsp + 0x68], rax
mov byte [rdi], r12b
mov rbp, rbx
xor edi, edi
jmp 0x47e620
mov rcx, qword [rsp + 0x60]
mov r8, rbp
call fcn.00460e50
test eax, eax
je 0x47e733
mov ebx, eax
jmp 0x47e7c4
lea r8, str.close
lea rdx, str.Connection:
mov rcx, rbp
call fcn.00461500
test al, al
je 0x47e833
mov byte [rsp + 0x9a], 1
jmp 0x47e733
mov rax, qword [rsp + 0x60]
mov r9, r11
mov r8, rbp
mov edx, 1
mov rcx, r15
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x20], rax
call fcn.0044e8a0
mov r11, qword [rsp + 0x58]
jmp 0x47e65a
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, r15
mov ebx, 0x38
call fcn.0044ea90
mov eax, ebx
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
mov rcx, r13
mov qword [rsp + 0xd8], 0
call fcn.00482810
cmp eax, 0xffffffff
je 0x47e93a
mov r8, qword [rsp + 0xd8]
lea rdx, str.Read__zd_bytes_of_chunk__continue_n
mov rcx, r15
call fcn.0044e9e0
mov rax, qword [rsp + 0x70]
xor r14d, r14d
xor ebx, ebx
mov r12, rax
jmp 0x47e412
lea r8, str.chunked
lea rdx, str.Transfer_Encoding:
mov rcx, rbp
call fcn.00461500
test al, al
je 0x47e873
lea rdx, str.CONNECT_responded_chunked_n
mov rcx, r15
call fcn.0044e9e0
mov rcx, qword [rsp + 0x60]
call fcn.004827f0
mov byte [rsp + 0x9b], 1
jmp 0x47e733
lea r8, str.close
lea rdx, str.Proxy_Connection:
mov rcx, rbp
call fcn.00461500
test al, al
jne 0x47e773
mov r9, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
lea rdx, str.HTTP_1._d__d
mov rcx, rbp
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x47e733
mov eax, dword [r15 + 0xc8]
mov dword [r15 + 0x922c], eax
jmp 0x47e733
mov rdx, rsi
mov rcx, r13
call fcn.00461680
test eax, eax
mov ebx, eax
jne 0x47eb65
lea rdx, [0x00667e6d]
mov rcx, rsi
call fcn.00461470
test eax, eax
mov ebx, eax
jne 0x47eb65
mov eax, dword [rsp + 0x9c]
lea r8, [r15 + 0x9240]
xor r9d, r9d
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.00461150
test eax, eax
mov ebx, eax
jne 0x47eb65
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x6e0], 1
xor ebx, ebx
jmp 0x47e7c4
lea rdx, str.chunk_reading_DONE_n
mov rcx, r15
xor ebp, ebp
call fcn.0044e9e0
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x6e0], 2
jmp 0x47e821
cmp dword [r15 + 0xc8], 0x197
mov r10d, r13d
mov qword [rsp + 0x58], rbp
mov r13, qword [rsp + 0x60]
je 0x47ebd3
xor ebp, ebp
cmp dword [r15 + 0x922c], 0xc8
je 0x47ec8f
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x6e0], 2
jmp 0x47e821
movzx edi, word [rsp + 0xa8]
mov r8, qword [rsp + 0x88]
lea rdx, str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
mov rcx, r15
mov r9d, edi
call fcn.0044e9e0
mov rcx, qword [r15 + 0x170]
test rcx, rcx
je 0x47e9e3
call qword [sub.msvcrt.dll_free]
mov qword [r15 + 0x170], 0
call fcn.00461130
test rax, rax
mov rsi, rax
mov ebx, 0x1b
je 0x47e7c4
mov rdx, qword [rsp + 0x88]
lea rcx, str._s:_hu
mov r8d, edi
call fcn.0044c410
test rax, rax
mov rbp, rax
je 0x47ed02
lea rdx, str.CONNECT
mov r9d, 1
mov r8, rax
mov rcx, r13
call fcn.00460cf0
mov ebx, eax
mov rcx, rbp
call qword [sub.msvcrt.dll_free]
test ebx, ebx
jne 0x47ed02
cmp dword [r13 + 0x170], 1
lea rbx, [0x00667db0]
lea rax, [0x00667db4]
lea r9, [0x00667db8]
lea rdx, [0x00667dba]
cmovne rbx, rax
cmp byte [r13 + 0x29e], 0
jne 0x47ea83
lea r9, [0x00667dbc]
mov rdx, r9
mov r8, qword [rsp + 0x88]
lea rcx, str._s_s_s:_hu
mov dword [rsp + 0x20], edi
call fcn.0044c410
test rax, rax
mov rdi, rax
je 0x47ed34
lea rdx, str.Host:
mov rcx, r15
lea rbp, [0x00667dbc]
call fcn.004607c0
test rax, rax
je 0x47ed10
lea rdx, str.Proxy_Connection:
mov rcx, r15
lea r12, [0x00667dbc]
call fcn.004607c0
test rax, rax
lea rax, str.Proxy_Connection:_Keep_Alive_r_n
lea rdx, str.User_Agent:
mov rcx, r15
cmovne rax, r12
mov r14, rax
call fcn.004607c0
test rax, rax
je 0x47eda9
mov rdx, qword [r13 + 0x2f0]
lea rax, [0x00667dbc]
mov r9, rbx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r12
mov r8, rdi
mov qword [rsp + 0x20], rbp
mov rcx, rsi
test rdx, rdx
cmovne rax, rdx
lea rdx, str.CONNECT__s_HTTP__s_r_n_s_s_s_s
mov qword [rsp + 0x28], rax
call fcn.00461470
cmp byte [rbp], 0
mov ebx, eax
je 0x47eb54
mov rcx, rbp
call qword [sub.msvcrt.dll_free]
mov rcx, rdi
call qword [sub.msvcrt.dll_free]
test ebx, ebx
je 0x47e8cc
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, r15
call fcn.0044ea90
jmp 0x47e7c4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x6e0], 2
mov rcx, qword [r13 + 0x2f0]
test rcx, rcx
je 0x47eb9a
call qword [sub.msvcrt.dll_free]
lea rdx, str.Proxy_replied_OK_to_CONNECT_request_n
mov qword [r13 + 0x2f0], 0
mov rcx, r15
mov byte [r15 + 0x913c], 1
xor ebx, ebx
call fcn.0044e9e0
mov byte [r15 + 0x165], 0
mov byte [r13 + 0x2a7], 0
jmp 0x47e7c4
cmp byte [r15 + 0x9140], 0
jne 0x47e97d
cmp qword [rsp + 0x68], 0
jne 0x47ed47
xor ebp, ebp
cmp byte [rsp + 0x9b], 0
je 0x47e990
mov r8, qword [rsp + 0xd0]
lea rdx, str._zd_bytes_of_chunk_left_n
mov byte [r15 + 0x165], 1
mov rcx, r15
mov dword [rsp + 0x60], r10d
sub r8, r12
call fcn.0044e9e0
mov rax, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x60]
cmp byte [rax + 1], 0xa
je 0x47ed9a
mov rax, qword [rsp + 0x58]
mov r8, qword [rsp + 0xd0]
movsxd r10, r10d
mov r9, qword [rsp + 0x50]
mov rcx, r13
lea rdx, [rax + 1]
sub r8, r10
call fcn.00482810
cmp eax, 0xffffffff
je 0x47ed7b
mov r8, qword [rsp + 0xd0]
lea rdx, str.Read__zd_bytes_of_chunk__continue_n
mov rcx, r15
mov ebp, 2
call fcn.0044e9e0
mov qword [rsp + 0x68], 0
jmp 0x47e990
lea eax, [r10 + 1]
mov r8, qword [rsp + 0xd0]
cdqe
cmp rax, r8
je 0x47e990
lea rdx, str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
sub r8, rax
mov rcx, r15
call fcn.0044ea90
jmp 0x47e990
mov rdi, qword [rsp + 0x90]
mov rcx, r13
mov rdx, qword [rdi + 0x190]
call fcn.0044d600
mov qword [rdi + 0x190], 0xffffffffffffffff
mov byte [rsp + 0x9a], 1
jmp 0x47e478
test rcx, rcx
je 0x47e4c6
mov byte [r13 + 0x2ae], 1
jmp 0x47e4b5
mov rcx, rsi
call qword [sub.msvcrt.dll_free]
jmp 0x47e7c4
lea rcx, str.Host:__s_r_n
mov rdx, rdi
call fcn.0044c410
test rax, rax
mov rbp, rax
jne 0x47eac6
mov rcx, rdi
call qword [sub.msvcrt.dll_free]
mov rcx, rsi
mov ebx, 0x1b
call qword [sub.msvcrt.dll_free]
jmp 0x47e7c4
mov r8, qword [rsp + 0x68]
lea rdx, str.Ignore__lld_bytes_of_response_body_n
mov rcx, r15
xor ebp, ebp
call fcn.0044e9e0
sub r12, qword [rsp + 0xd0]
add qword [rsp + 0x68], r12
cmp qword [rsp + 0x68], 0
setg bpl
add ebp, ebp
jmp 0x47e990
lea rdx, str.chunk_reading_DONE_n
mov rcx, r15
xor ebp, ebp
call fcn.0044e9e0
mov qword [rsp + 0x68], 0
jmp 0x47e990
add qword [rsp + 0x58], 1
add r10d, 1
jmp 0x47ec38
cmp qword [r15 + 0x540], 0
je 0x47eb05
mov r12, qword [r13 + 0x2f8]
jmp 0x47eb05