Function at 0x1400f4a90
Capabilities:
Check http status code

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r13d, r9d
mov qword [rsp + 0x88], r8
mov r15d, edx
mov rsi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, qword [rcx + 0xb08]
movsxd r14, edx
test rbx, rbx
je 0x1400f4b22
mov dword [rsp + 0xbc], 0
mov qword [rsp + 0x58], r14
lea r14, [rsi + r14*8]
add r14, 0x4c0
cmp dword [rbx + 0x4020], 2
jne 0x1400f4e11
mov rax, qword [rsi + 0xb08]
test rax, rax
je 0x1400f4bbe
xor r12d, r12d
cmp dword [rax + 0x4020], 2
je 0x1400f4bf1
jmp 0x1400f4c0a
mov rax, qword [fcn.14009cb90]
mov ecx, 1
mov edx, 0x4028
call qword [0x1402a4958]
test rax, rax
je 0x1400f4bc5
mov rdi, rax
mov qword [rsp + 0x58], r14
mov rcx, qword [rsi]
lea rdx, str.allocate_connect_buffer__n
call fcn.1400b6a70
mov qword [rsi + 0xb08], rdi
xor eax, eax
mov dword [rdi + 0x4020], eax
mov dword [rdi + 0x4004], 1
mov qword [rdi + 0x4008], rdi
mov qword [rdi + 0x4010], rdi
mov qword [rdi + 0x4018], 0
mov byte [rdi + 0x4025], 0
mov rbx, qword [rsi + 0xb08]
mov dword [rsp + 0xbc], eax
test rbx, rbx
je 0x1400f4afd
mov rax, qword [rsp + 0x58]
lea r14, [rsi + rax*8]
add r14, 0x4c0
jmp 0x1400f4af0
xor eax, eax
xor r12d, r12d
jmp 0x1400f4bf1
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400f4c0a
lea rdx, str.CONNECT_response_too_large_
mov rcx, rdi
call fcn.1400b6d70
mov r12d, 0x38
jmp 0x1400f4bea
mov r12d, Ordinal_46
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400b6a70
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
cmp rcx, qword [0x1402b3040]
je 0x1400f4c24
call fcn.14019d280
int3
mov eax, r12d
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12d, eax
jmp 0x1400f4bea
mov r12d, eax
jmp 0x1400f4c54
mov r12d, eax
mov qword [rsp + 0xb0], 0
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rdi
call fcn.1400b6d70
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
je 0x1400f4bea
mov rax, qword [fcn.1400581d0]
mov rcx, qword [rdi]
call qword [0x1402a4958]
mov rax, qword [fcn.1400581d0]
mov rcx, rdi
call qword [0x1402a4958]
jmp 0x1400f4bea
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400f4bea
mov r12d, ebp
jmp 0x1400f4c63
cmp dword [rdi + 0x6b0], 0
je 0x1400f4cd6
cmp dword [rdi + 0x1220], 0
je 0x1400f4cd6
mov byte [rsi + 0x66b], 1
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_connection_closed_n
call fcn.1400b6a70
xor r13d, r13d
jmp 0x1400f4ceb
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_aborted
call fcn.1400b6d70
mov r13d, 1
mov dword [rbx + 0x4004], 0
jmp 0x1400f4d1a
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400f4d17
mov dword [rbx + 0x4004], 0
xor r13d, r13d
mov rcx, rsi
call fcn.1400c1780
test eax, eax
jne 0x1400f4be4
mov r12d, 0x38
test r13d, r13d
jne 0x1400f4bea
mov eax, dword [rdi + 0x15fc]
mov ecx, 0xffffff38
add eax, ecx
cmp eax, 0x64
mov r13d, dword [rsp + 0x7c]
jb 0x1400f4d70
mov rcx, rsi
call fcn.1400da8c0
test eax, eax
jne 0x1400f4c3b
cmp byte [rsi + 0x654], 1
jne 0x1400f4d70
mov byte [rbx + 0x4025], 1
mov rax, qword [rdi + 0x1c8]
cmp byte [rbx + 0x4025], 1
je 0x1400f572b
test rax, rax
je 0x1400f5742
cmp dword [rbx + 0x4020], 2
jne 0x1400f4dd8
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 0
mov dword [rax + 0x4004], 1
mov qword [rax + 0x4008], rax
mov qword [rax + 0x4010], rax
mov qword [rax + 0x4018], 0
mov byte [rax + 0x4025], 0
mov rax, qword [rdi + 0x1c8]
test rax, rax
jne 0x1400f4e7f
jmp 0x1400f5742
lea rcx, str.Host:__s_r_n
mov rdx, r13
call fcn.1400c3d70
mov r14, rax
test rax, rax
jne 0x1400f4ff6
jmp 0x1400f5878
mov al, byte [rsi + 0x65e]
jmp 0x1400f4f99
mov rdi, qword [rsi]
mov rax, qword [r14]
mov qword [rsp + 0x80], rax
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov byte [rsi + 0x66b], 0
lea rax, [rdi + 0x1618]
mov qword [rsp + 0x98], rax
lea rax, [rbx + 0x4000]
mov qword [rsp + 0x68], rax
lea rax, [rdi + 0x178]
mov qword [rsp + 0x48], rax
lea rax, [rbx + 0x4018]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
shl rax, 5
add rax, rsi
add rax, 0x508
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x7c], r13d
cmp dword [rbx + 0x4020], 0
jne 0x1400f515b
mov qword [rsp + 0xb0], rbp
mov rcx, rdi
lea rdx, str.Establish_HTTP_proxy_tunnel_to__s:_d_n
mov r12, qword [rsp + 0x88]
mov r8, r12
mov r9d, r13d
call fcn.1400b6a70
mov rax, qword [fcn.1400581d0]
mov rcx, qword [rdi + 0x1c8]
call qword [0x1402a4958]
mov qword [rdi + 0x1c8], 0
mov rax, qword [fcn.14009cb90]
mov ecx, 1
mov edx, Ordinal_26
call qword [0x1402a4958]
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x1400f4c99
mov dword [rsp + 0x54], r15d
mov qword [rsp + 0x90], r14
lea rcx, str._s:_d
mov rdx, r12
mov r8d, r13d
call fcn.1400c3d70
mov r12d, reloc.WLDAP32.dll_Ordinal_27
test rax, rax
je 0x1400f4c63
mov r14, rax
mov rcx, rsi
lea rdx, str.CONNECT
mov r8, rax
mov r9b, 1
call fcn.1400dae50
mov ebp, eax
mov rax, qword [fcn.1400581d0]
mov rcx, r14
call qword [0x1402a4958]
test ebp, ebp
jne 0x1400f4ca4
cmp dword [rsi + 0x3dc], 1
lea rbp, [0x1402978ee]
lea rax, [0x140287f75]
cmove rbp, rax
mov r14, qword [rsp + 0x88]
cmp r14, qword [rsi + 0x340]
je 0x1400f4e06
mov rcx, r14
mov edx, 0x3a
call fcn.14019b8fc
test rax, rax
setne al
test al, al
lea rdx, [0x140277b22]
mov r9, rdx
lea rax, [0x140277c64]
cmovne r9, rax
lea rax, [0x1402785a2]
cmovne rdx, rax
mov dword [rsp + 0x20], r13d
lea rcx, str._s_s_s:_d
mov r8, r14
call fcn.1400c3d70
test rax, rax
je 0x1400f4c63
mov r13, rax
mov rcx, rsi
lea rdx, str.Host
call fcn.1400da740
test rax, rax
je 0x1400f4de6
xor r14d, r14d
mov r15, rdi
mov rcx, rsi
lea rdx, str.Proxy_Connection
call fcn.1400da740
test rax, rax
lea r12, [0x140277b22]
mov rdi, r12
lea rax, str.Proxy_Connection:_Keep_Alive_r_n
cmove rdi, rax
mov rcx, rsi
lea rdx, str.User_Agent
call fcn.1400da740
mov rcx, r12
test rax, rax
jne 0x1400f504b
cmp qword [r15 + 0xd08], 0
mov rcx, r12
je 0x1400f504b
mov rcx, qword [rsi + 0x6e0]
mov rax, qword [rsi + 0x6d8]
test rax, rax
cmove rax, r12
test r14, r14
mov rdx, r14
cmove rdx, r12
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0xb0]
lea rdx, str.CONNECT__s_HTTP__s_r_n_s_s_s_s
mov r8, r13
mov r9, rbp
call fcn.1400dbbe0
mov r12d, eax
test r14, r14
je 0x1400f50a9
mov rax, qword [fcn.1400581d0]
mov rcx, r14
call qword [0x1402a4958]
mov rax, qword [fcn.1400581d0]
mov rcx, r13
call qword [0x1402a4958]
test r12d, r12d
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov rdi, r15
jne 0x1400f4c48
mov r8, qword [rsp + 0xb0]
mov rcx, rsi
mov dl, 1
call fcn.1400dbee0
test eax, eax
jne 0x1400f4c45
lea r14, [rsp + 0xb0]
mov rcx, r14
lea rdx, [0x140277b26]
call fcn.1400dbbe0
test eax, eax
jne 0x1400f4c45
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rdx, rsi
mov r8, qword [rsp + 0x98]
xor r9d, r9d
call fcn.1400db7b0
mov qword [rsp + 0xb0], 0
test eax, eax
jne 0x1400f4c40
mov dword [rbx + 0x4020], 1
mov dword [rbx + 0x4000], 0
mov r14, qword [rsp + 0x90]
mov r15d, dword [rsp + 0x54]
mov rcx, rdi
xor edx, edx
mov r8b, 1
call fcn.1400bbc20
test rax, rax
jle 0x1400f5208
mov rax, qword [0x1402c1800]
mov rax, qword [rax + 0x48]
mov rcx, rsi
mov edx, r15d
call qword [0x1402a4958]
test al, al
jne 0x1400f51e6
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x1400f51b2
mov rax, qword [rsp + 0x60]
cmp qword [rax + 8], 0
je 0x1400f51b2
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
ja 0x1400f51e6
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsi + rax*8 + 0x4c0]
mov rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.1400d6a80
test eax, eax
jle 0x1400f4afd
and eax, 1
je 0x1400f4afd
xor r13d, r13d
cmp dword [rbx + 0x4004], 0
je 0x1400f4d1a
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x68]
jmp 0x1400f52bf
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rdi
call fcn.1400b6d70
mov r12d, 0x1c
jmp 0x1400f4bea
mov dword [rsp + 0xac], 0xaaaaaaaa
mov qword [rsp + 0xa0], 0
lea rax, [rsp + 0xac]
mov qword [rsp + 0x20], rax
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
lea r9, [rsp + 0xa0]
call fcn.1400cced0
cmp eax, 0xffffffff
jne 0x1400f52b2
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400b6a70
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400f52b2
mov qword [rbx + 0x4010], rbx
mov rax, qword [rbx + 0x4018]
test rax, rax
je 0x1400f5222
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rcx
cmp rax, 1
jle 0x1400f4cf7
cmp dword [rbx + 0x4004], 0
je 0x1400f4d17
mov qword [rsp + 0xb0], rbp
mov r8, qword [rbx + 0x4010]
cmp r8, r12
jae 0x1400f4bcd
mov dword [rsp + 0xa0], 0x38
xor edx, edx
cmp r13, qword [rsi + 0x4c8]
mov rax, qword [rsi]
sete dl
mov qword [rsp + 0xb0], 0
xor r9d, r9d
cmp dword [rax + 0xb70], 0
setne r9b
mov rax, qword [rsi + rdx*8 + 0x4e8]
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call qword [0x1402a4958]
test rax, rax
js 0x1400f538e
add qword [rsp + 0xb0], rax
mov rcx, rsi
call fcn.1400c1780
test eax, eax
jne 0x1400f4be4
cmp qword [rsp + 0xb0], 0
jle 0x1400f4ca9
cmp dword [rbx + 0x4004], 2
jge 0x1400f5289
movsxd r9, dword [rbx + 0x4000]
inc r9
mov dword [rbx + 0x4000], r9d
mov rax, qword [rbx + 0x4010]
cmp byte [rax], 0xa
je 0x1400f53c1
inc rax
mov qword [rbx + 0x4010], rax
jmp 0x1400f52b2
mov ebp, dword [rsp + 0xa0]
cmp ebp, 0x51
je 0x1400f4afd
mov rcx, rsi
call fcn.1400c1780
test eax, eax
jne 0x1400f4be4
test ebp, ebp
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400f5346
jmp 0x1400f4d0d
cmp byte [rdi + 0xf1e], 1
jne 0x1400f53e5
mov r8, qword [rbx + 0x4008]
mov rcx, rdi
mov edx, 1
call fcn.1400b6c70
mov r9d, dword [rbx + 0x4000]
cmp byte [rdi + 0xf32], 0
jne 0x1400f541b
movzx edx, byte [rdi + 0xf19]
or edx, 2
movsxd r9, r9d
mov r8, qword [rbx + 0x4008]
mov rcx, rsi
call fcn.1400b74d0
test eax, eax
jne 0x1400f4c3b
mov r12, qword [rsp + 0x68]
mov r9d, dword [r12]
movsxd rax, r9d
add qword [rdi + 0x1610], rax
movsxd rax, dword [rbx + 0x4000]
add qword [rdi + 0x108], rax
mov rax, qword [rbx + 0x4008]
movzx ecx, byte [rax]
cmp ecx, 0xd
je 0x1400f5447
cmp ecx, 0xa
jne 0x1400f54ad
mov qword [rbx + 0x4010], rbx
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0x197
jne 0x1400f5464
cmp byte [rdi + 0x1599], 0
je 0x1400f5482
mov dword [rbx + 0x4004], 0
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
jne 0x1400f52b2
jmp 0x1400f527d
mov dword [rbx + 0x4004], 2
mov r8, qword [rbx + 0x4018]
test r8, r8
je 0x1400f5647
mov rcx, rdi
lea rdx, str.Ignore__I64d_bytes_of_response_body_n
call fcn.1400b6a70
jmp 0x1400f546e
movsxd rcx, dword [rbx + 0x4000]
mov byte [rax + rcx], 0
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x11
lea rcx, str.WWW_Authenticate:
call fcn.1400af670
test eax, eax
je 0x1400f556d
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0x191
jne 0x1400f556d
xor ebp, ebp
mov r13d, r15d
mov r15, r14
mov rcx, qword [rbx + 0x4008]
call fcn.1400da7c0
test rax, rax
je 0x1400f4c99
mov r14, rax
mov rcx, rsi
mov edx, ebp
mov r8, rax
call fcn.1400db370
mov r12d, eax
mov rax, qword [fcn.1400581d0]
mov rcx, r14
call qword [0x1402a4958]
test r12d, r12d
mov r14, r15
mov r15d, r13d
mov r13, qword [rsp + 0x80]
movabs rbp, 0xaaaaaaaaaaaaaaaa
jne 0x1400f4bea
mov dword [rbx + 0x4000], 0
mov qword [rbx + 0x4010], rbx
mov qword [rbx + 0x4008], rbx
mov r12, qword [rsp + 0x68]
jmp 0x1400f52b2
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x13
lea rcx, str.Proxy_authenticate:
call fcn.1400af670
test eax, eax
je 0x1400f559e
mov bpl, 1
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0x197
je 0x1400f54ec
mov rdx, qword [rbx + 0x4008]
mov r8d, 0xf
lea rcx, str.Content_Length:
call fcn.1400af670
test eax, eax
je 0x1400f560f
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
movabs rbp, 0xaaaaaaaaaaaaaaaa
ja 0x1400f55ed
mov rcx, rdi
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response_n
call fcn.1400b6a70
jmp 0x1400f554b
mov rcx, qword [rbx + 0x4008]
add rcx, 0xf
xor edx, edx
mov r8d, 0xa
mov r9, qword [rsp + 0x70]
call fcn.1400cd590
jmp 0x1400f554b
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Connection:
lea r8, str.close
call fcn.1400dbdf0
test al, al
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400f56e3
mov byte [rbx + 0x4025], 1
jmp 0x1400f554b
cmp byte [rbx + 0x4024], 1
jne 0x1400f5464
mov dword [rsp + 0xa0], 0xaaaaaaaa
mov rcx, rdi
lea rdx, str.Ignore_chunked_response_body_n
call fcn.1400b6a70
mov byte [rdi + 0x65b], 1
mov rdx, qword [rbx + 0x4008]
cmp byte [rdx + 1], 0xa
jne 0x1400f568c
inc rdx
mov qword [rbx + 0x4008], rdx
inc rdx
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r8d, 1
mov rcx, rsi
lea r9, [rsp + 0xb0]
call fcn.1400cced0
cmp eax, 0xffffffff
jne 0x1400f546e
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400b6a70
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400f546e
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x12
lea rcx, str.Transfer_Encoding:
call fcn.1400af670
test eax, eax
je 0x1400f588d
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
ja 0x1400f58e9
mov rcx, rdi
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
jmp 0x1400f55e3
test rax, rax
je 0x1400f5742
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400bccf0
mov qword [r14], 0xffffffffffffffff
mov eax, 0xffffff38
add eax, dword [rdi + 0x15fc]
cmp eax, 0x64
jae 0x1400f57ad
mov dword [rbx + 0x4020], 2
mov rax, qword [fcn.1400581d0]
mov rcx, qword [rsi + 0x6d8]
call qword [0x1402a4958]
mov qword [rsi + 0x6d8], 0
mov word [rdi + 0x1224], 1
mov r8d, dword [rdi + 0x15fc]
lea rdx, str.Proxy_replied__d_to_CONNECT_request_n
mov rcx, rdi
call fcn.1400b6a70
xor eax, eax
mov byte [rdi + 0x65b], al
mov byte [rsi + 0x665], al
jmp 0x1400f4afd
mov rcx, qword [rdi + 0x1c8]
test rcx, rcx
setne al
and al, byte [rbx + 0x4025]
cmp al, 1
je 0x1400f5810
mov rax, qword [fcn.1400581d0]
call qword [0x1402a4958]
mov qword [rdi + 0x1c8], 0
mov rax, qword [rsi + 0x698]
test byte [rax + 0x81], 2
jne 0x1400f57fc
cmp byte [rsi + 0x654], 0
jne 0x1400f57fc
mov byte [rsi + 0x654], 1
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400bccf0
mov qword [r14], 0xffffffffffffffff
jmp 0x1400f5846
mov byte [rsi + 0x66b], 1
lea rdx, str.Connect_me_again_please_n
mov rcx, rdi
call fcn.1400b6a70
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400b6a70
mov dword [rbx + 0x4020], 0
cmp byte [rsi + 0x66b], 0
jne 0x1400f4afd
mov r8d, dword [rdi + 0x178]
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rdi
call fcn.1400b6d70
jmp 0x1400f4bea
mov rax, qword [fcn.1400581d0]
mov rcx, r13
call qword [0x1402a4958]
jmp 0x1400f4c63
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Proxy_Connection:
lea r8, str.close
call fcn.1400dbdf0
test al, al
jne 0x1400f563b
mov rcx, qword [rbx + 0x4008]
lea rdx, str.HTTP_1._d__d
lea r8, [rsp + 0xbc]
mov r9, qword [rsp + 0x48]
call fcn.14004e250
cmp eax, 2
jne 0x1400f554b
mov eax, dword [rdi + 0x178]
mov dword [rdi + 0x15fc], eax
jmp 0x1400f554b
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Transfer_Encoding:
lea r8, str.chunked
call fcn.1400dbdf0
test al, al
je 0x1400f554b
mov rcx, rdi
lea rdx, str.CONNECT_responded_chunked_n
call fcn.1400b6a70
mov byte [rbx + 0x4024], 1
xor eax, eax
mov qword [rsi + 0x2a4], rax
mov qword [rsi + 0x2b8], rax
jmp 0x1400f554b