Function at 0x1400ec970
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 r14d, r9d
mov r13, 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 r12, edx
test rbx, rbx
je 0x1400eca45
mov dword [rsp + 0xbc], 0
lea rax, [rsi + r12*8]
add rax, 0x4c0
cmp dword [rbx + 0x4020], 2
jne 0x1400ecb8b
mov rax, qword [rsi + 0xb08]
xor r12d, r12d
test rax, rax
je 0x1400ec9ee
cmp dword [rax + 0x4020], 2
jne 0x1400eca0e
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400b0c10
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140191d80
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, Ordinal_46
jmp 0x1400ec9ee
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400eca0e
mov rax, qword [fcn.14018dbf0]
mov ecx, 1
mov edx, 0x4028
call qword [0x1402a3e88]
test rax, rax
je 0x1400eca3d
mov rdi, rax
mov rcx, qword [rsi]
lea rdx, str.allocate_connect_buffer__n
call fcn.1400b0c10
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
jne 0x1400ec9bf
jmp 0x1400ec9d6
lea rdx, str.CONNECT_response_too_large_
mov rcx, rdi
call fcn.1400b0f10
mov r12d, 0x38
jmp 0x1400ec9ee
mov r12d, eax
jmp 0x1400ec9ee
mov r12d, eax
jmp 0x1400ecafe
mov r12d, eax
mov qword [rsp + 0xb0], 0
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rdi
call fcn.1400b0f10
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
je 0x1400ec9ee
mov rax, qword [fcn.14018db50]
mov rcx, qword [rdi]
call qword [0x1402a3e88]
mov rax, qword [fcn.14018db50]
mov rcx, rdi
call qword [0x1402a3e88]
jmp 0x1400ec9ee
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400ec9ee
mov r12d, ebp
jmp 0x1400ecb0d
lea rcx, str.Host:__s_r_n
mov rdx, r13
call fcn.1400bc1f0
mov r14, rax
test rax, rax
jne 0x1400ecd6e
mov rax, qword [fcn.14018db50]
mov rcx, r13
call qword [0x1402a3e88]
jmp 0x1400ecb0d
mov al, byte [rsi + 0x65e]
jmp 0x1400ecd0e
mov rdi, qword [rsi]
mov qword [rsp + 0x78], rax
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov byte [rsi + 0x66b], 0
lea rax, [rdi + 0x1618]
mov qword [rsp + 0x90], rax
lea rax, [rbx + 0x4000]
mov qword [rsp + 0x88], rax
lea rax, [rdi + 0x178]
mov qword [rsp + 0x50], rax
lea rax, [rbx + 0x4018]
mov qword [rsp + 0x70], rax
mov rax, r12
shl rax, 5
add rax, rsi
add rax, 0x508
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x60], r12
cmp dword [rbx + 0x4020], 0
jne 0x1400ececa
mov qword [rsp + 0xb0], rbp
mov rcx, rdi
lea rdx, str.Establish_HTTP_proxy_tunnel_to__s:_d_n
mov r8, r13
mov r9d, r14d
call fcn.1400b0c10
mov rax, qword [fcn.14018db50]
mov rcx, qword [rdi + 0x1c8]
call qword [0x1402a3e88]
mov qword [rdi + 0x1c8], 0
mov rax, qword [fcn.14018dbf0]
mov ecx, 1
mov edx, Ordinal_26
call qword [0x1402a3e88]
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x1400ecb43
mov dword [rsp + 0x5c], r15d
lea rcx, str._s:_d
mov rdx, r13
mov dword [rsp + 0x4c], r14d
mov r8d, r14d
call fcn.1400bc1f0
mov r12d, reloc.WLDAP32.dll_Ordinal_27
test rax, rax
je 0x1400ecb0d
mov r14, rax
mov rcx, rsi
lea rdx, str.CONNECT
mov r8, rax
mov r9b, 1
call fcn.1400d2f70
mov ebp, eax
mov rax, qword [fcn.14018db50]
mov rcx, r14
call qword [0x1402a3e88]
test ebp, ebp
jne 0x1400ecb4e
cmp dword [rsi + 0x3dc], 1
lea rbp, [0x140295714]
lea rax, [0x140285e80]
cmove rbp, rax
cmp qword [rsi + 0x340], r13
je 0x1400ecb80
mov rcx, r13
mov edx, 0x3a
call fcn.14019054c
test rax, rax
setne al
mov ecx, dword [rsp + 0x4c]
lea rdx, [0x140274795]
test al, al
mov r9, rdx
lea rax, [0x140274a44]
cmovne r9, rax
lea rax, [0x14027634f]
cmovne rdx, rax
mov dword [rsp + 0x20], ecx
lea rcx, str._s_s_s:_d
mov r8, r13
call fcn.1400bc1f0
test rax, rax
je 0x1400ecb0d
mov r13, rax
mov rcx, rsi
lea rdx, str.Host
call fcn.1400d2860
test rax, rax
je 0x1400ecb53
xor r14d, r14d
mov rcx, rsi
lea rdx, str.Proxy_Connection
call fcn.1400d2860
test rax, rax
lea r15, [0x140274795]
mov r12, r15
lea rax, str.Proxy_Connection:_Keep_Alive_r_n
cmove r12, rax
mov rcx, rsi
lea rdx, str.User_Agent
call fcn.1400d2860
mov rcx, r15
test rax, rax
jne 0x1400ecdc0
cmp qword [rdi + 0xd08], 0
mov rcx, r15
je 0x1400ecdc0
mov rcx, qword [rsi + 0x6e0]
mov rax, qword [rsi + 0x6d8]
test rax, rax
cmove rax, r15
test r14, r14
mov rdx, r14
cmove rdx, r15
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea r15, [rsp + 0xb0]
mov rcx, r15
lea rdx, str.CONNECT__s_HTTP__s_r_n_s_s_s_s
mov r8, r13
mov r9, rbp
call fcn.1400d3d00
mov r12d, eax
test r14, r14
je 0x1400ece21
mov rax, qword [fcn.14018db50]
mov rcx, r14
call qword [0x1402a3e88]
mov rax, qword [fcn.14018db50]
mov rcx, r13
call qword [0x1402a3e88]
test r12d, r12d
movabs rbp, 0xaaaaaaaaaaaaaaaa
jne 0x1400ecaf2
mov r8, qword [rsp + 0xb0]
mov rcx, rsi
mov dl, 1
call fcn.1400d3ff0
test eax, eax
jne 0x1400ecaef
mov rcx, r15
lea rdx, [0x140274744]
call fcn.1400d3d00
test eax, eax
jne 0x1400ecaef
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov rdx, rsi
mov r8, qword [rsp + 0x90]
xor r9d, r9d
call fcn.1400d38e0
mov qword [rsp + 0xb0], 0
test eax, eax
jne 0x1400ecaea
mov dword [rbx + 0x4020], 1
mov dword [rbx + 0x4000], 0
mov r14d, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0x5c]
mov r12, qword [rsp + 0x60]
mov rcx, rdi
xor edx, edx
mov r8b, 1
call fcn.1400b5e30
test rax, rax
jle 0x1400ed67d
mov rax, qword [0x1402c1810]
mov rax, qword [rax + 0x48]
mov rcx, rsi
mov edx, r15d
call qword [0x1402a3e88]
test al, al
jne 0x1400ecf50
mov rax, qword [rsp + 0x68]
cmp qword [rax], 0
je 0x1400ecf21
mov rax, qword [rsp + 0x68]
cmp qword [rax + 8], 0
je 0x1400ecf21
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
ja 0x1400ecf50
mov rcx, qword [rsi + r12*8 + 0x4c0]
mov rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.1400cebe0
test eax, eax
jle 0x1400ec9d6
and eax, 1
je 0x1400ec9d6
cmp dword [rbx + 0x4004], 0
mov r13, qword [rsp + 0x80]
jne 0x1400ed1a3
xor r13d, r13d
mov rcx, rsi
call fcn.1400b9c80
test eax, eax
jne 0x1400eca35
test r13d, r13d
jne 0x1400ecad7
mov eax, dword [rdi + 0x15fc]
mov ecx, 0xffffff38
add eax, ecx
cmp eax, 0x64
mov r13, qword [rsp + 0x98]
jb 0x1400ecfc0
mov rcx, rsi
call fcn.1400d29e0
test eax, eax
jne 0x1400ecae2
cmp byte [rsi + 0x654], 1
mov r12, qword [rsp + 0x60]
jne 0x1400ecfc0
mov byte [rbx + 0x4025], 1
mov rax, qword [rdi + 0x1c8]
cmp byte [rbx + 0x4025], 1
je 0x1400ed697
test rax, rax
je 0x1400ed02d
cmp dword [rbx + 0x4020], 2
jne 0x1400ed024
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 0x1400ecc07
mov eax, 0xffffff38
add eax, dword [rdi + 0x15fc]
cmp eax, 0x64
jae 0x1400ed6bc
mov dword [rbx + 0x4020], 2
mov rax, qword [fcn.14018db50]
mov rcx, qword [rsi + 0x6d8]
call qword [0x1402a3e88]
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.1400b0c10
xor eax, eax
mov byte [rdi + 0x65b], al
mov byte [rsi + 0x665], al
jmp 0x1400ec9d6
cmp dword [rdi + 0x6b0], 0
je 0x1400ed0c9
cmp dword [rdi + 0x1220], 0
je 0x1400ed0c9
mov byte [rsi + 0x66b], 1
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_connection_closed_n
call fcn.1400b0c10
xor r13d, r13d
jmp 0x1400ed0de
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_aborted
call fcn.1400b0f10
mov r13d, 1
mov dword [rbx + 0x4004], 0
jmp 0x1400ecf68
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400ecf65
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.1400c5140
cmp eax, 0xffffffff
jne 0x1400ed196
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400b0c10
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400ed196
mov qword [rbx + 0x4010], rbx
mov rax, qword [rbx + 0x4018]
test rax, rax
je 0x1400ed106
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rcx
cmp rax, 1
jle 0x1400ed0ed
cmp dword [rbx + 0x4004], 0
je 0x1400ecf65
mov qword [rsp + 0xb0], rbp
mov r8, qword [rbx + 0x4010]
cmp r8, qword [rsp + 0x88]
jae 0x1400ecac8
mov dword [rsp + 0xa0], 0x38
xor edx, edx
cmp qword [rsi + 0x4c8], r13
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 [0x1402a3e88]
test rax, rax
js 0x1400ed277
add qword [rsp + 0xb0], rax
mov rcx, rsi
call fcn.1400b9c80
test eax, eax
jne 0x1400eca35
cmp qword [rsp + 0xb0], 0
jle 0x1400ed09c
cmp dword [rbx + 0x4004], 2
jge 0x1400ed16d
movsxd r9, dword [rbx + 0x4000]
inc r9
mov dword [rbx + 0x4000], r9d
mov rax, qword [rbx + 0x4010]
cmp byte [rax], 0xa
je 0x1400ed2b4
inc rax
mov qword [rbx + 0x4010], rax
jmp 0x1400ed196
mov ebp, dword [rsp + 0xa0]
cmp ebp, 0x51
je 0x1400ec9d6
mov rcx, rsi
call fcn.1400b9c80
test eax, eax
jne 0x1400eca35
test ebp, ebp
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400ed22f
mov dword [rbx + 0x4004], 0
jmp 0x1400ecf65
cmp byte [rdi + 0xf1e], 1
jne 0x1400ed2d8
mov r8, qword [rbx + 0x4008]
mov rcx, rdi
mov edx, 1
call fcn.1400b0e10
mov r9d, dword [rbx + 0x4000]
cmp byte [rdi + 0xf32], 0
jne 0x1400ed315
movzx edx, byte [rdi + 0xf19]
or edx, 2
movsxd r9, r9d
mov r8, qword [rbx + 0x4008]
mov rcx, rsi
call fcn.1400b1660
test eax, eax
jne 0x1400ecae2
mov rax, qword [rsp + 0x88]
mov r9d, dword [rax]
mov r12, qword [rsp + 0x60]
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 0x1400ed341
cmp ecx, 0xa
jne 0x1400ed3a7
mov qword [rbx + 0x4010], rbx
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x197
jne 0x1400ed35e
cmp byte [rdi + 0x1599], 0
je 0x1400ed37c
mov dword [rbx + 0x4004], 0
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
jne 0x1400ed196
jmp 0x1400ed161
mov dword [rbx + 0x4004], 2
mov r8, qword [rbx + 0x4018]
test r8, r8
je 0x1400ed541
mov rcx, rdi
lea rdx, str.Ignore__I64d_bytes_of_response_body_n
call fcn.1400b0c10
jmp 0x1400ed368
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.1400a9870
test eax, eax
je 0x1400ed467
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x191
jne 0x1400ed467
xor ebp, ebp
mov r13d, r15d
mov r15d, r14d
mov rcx, qword [rbx + 0x4008]
call fcn.1400d28e0
test rax, rax
je 0x1400ecb43
mov r14, rax
mov rcx, rsi
mov edx, ebp
mov r8, rax
call fcn.1400d34b0
mov r12d, eax
mov rax, qword [fcn.14018db50]
mov rcx, r14
call qword [0x1402a3e88]
test r12d, r12d
mov r14d, r15d
mov r15d, r13d
mov r13, qword [rsp + 0x80]
movabs rbp, 0xaaaaaaaaaaaaaaaa
jne 0x1400ec9ee
mov dword [rbx + 0x4000], 0
mov qword [rbx + 0x4010], rbx
mov qword [rbx + 0x4008], rbx
mov r12, qword [rsp + 0x60]
jmp 0x1400ed196
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x13
lea rcx, str.Proxy_authenticate:
call fcn.1400a9870
test eax, eax
je 0x1400ed498
mov bpl, 1
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x197
je 0x1400ed3e6
mov rdx, qword [rbx + 0x4008]
mov r8d, 0xf
lea rcx, str.Content_Length:
call fcn.1400a9870
test eax, eax
je 0x1400ed509
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
movabs rbp, 0xaaaaaaaaaaaaaaaa
ja 0x1400ed4e7
mov rcx, rdi
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response_n
call fcn.1400b0c10
jmp 0x1400ed445
mov rcx, qword [rbx + 0x4008]
add rcx, 0xf
xor edx, edx
mov r8d, 0xa
mov r9, qword [rsp + 0x70]
call fcn.1400c57f0
jmp 0x1400ed445
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Connection:
lea r8, str.close
call fcn.1400d3f00
test al, al
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400ed5dd
mov byte [rbx + 0x4025], 1
jmp 0x1400ed445
cmp byte [rbx + 0x4024], 1
jne 0x1400ed35e
mov dword [rsp + 0xa0], 0xaaaaaaaa
mov rcx, rdi
lea rdx, str.Ignore_chunked_response_body_n
call fcn.1400b0c10
mov byte [rdi + 0x65b], 1
mov rdx, qword [rbx + 0x4008]
cmp byte [rdx + 1], 0xa
jne 0x1400ed586
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.1400c5140
cmp eax, 0xffffffff
jne 0x1400ed368
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400b0c10
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400ed368
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x12
lea rcx, str.Transfer_Encoding:
call fcn.1400a9870
test eax, eax
je 0x1400ed621
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
ja 0x1400ed78c
mov rcx, rdi
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
jmp 0x1400ed4dd
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Proxy_Connection:
lea r8, str.close
call fcn.1400d3f00
test al, al
jne 0x1400ed535
mov rcx, qword [rbx + 0x4008]
lea rdx, str.HTTP_1._d__d
lea r8, [rsp + 0xbc]
mov r9, qword [rsp + 0x50]
call fcn.140031720
cmp eax, 2
jne 0x1400ed445
mov eax, dword [rdi + 0x178]
mov dword [rdi + 0x15fc], eax
jmp 0x1400ed445
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rdi
call fcn.1400b0f10
mov r12d, 0x1c
jmp 0x1400ec9ee
test rax, rax
je 0x1400ed02d
mov r14, qword [rsp + 0x78]
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400b6eb0
mov qword [r14], 0xffffffffffffffff
jmp 0x1400ed02d
mov rcx, qword [rdi + 0x1c8]
test rcx, rcx
setne al
and al, byte [rbx + 0x4025]
cmp al, 1
je 0x1400ed724
mov rax, qword [fcn.14018db50]
call qword [0x1402a3e88]
mov qword [rdi + 0x1c8], 0
mov rax, qword [rsi + 0x698]
test byte [rax + 0x81], 2
jne 0x1400ed70b
cmp byte [rsi + 0x654], 0
jne 0x1400ed70b
mov byte [rsi + 0x654], 1
mov r14, qword [rsp + 0x78]
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400b6eb0
mov qword [r14], 0xffffffffffffffff
jmp 0x1400ed75a
mov byte [rsi + 0x66b], 1
lea rdx, str.Connect_me_again_please_n
mov rcx, rdi
call fcn.1400b0c10
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400b0c10
mov dword [rbx + 0x4020], 0
cmp byte [rsi + 0x66b], 0
jne 0x1400ec9d6
mov r8d, dword [rdi + 0x178]
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rdi
call fcn.1400b0f10
jmp 0x1400ecad7
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Transfer_Encoding:
lea r8, str.chunked
call fcn.1400d3f00
test al, al
je 0x1400ed445
mov rcx, rdi
lea rdx, str.CONNECT_responded_chunked_n
call fcn.1400b0c10
mov byte [rbx + 0x4024], 1
xor eax, eax
mov qword [rsi + 0x2a4], rax
mov qword [rsi + 0x2b8], rax
jmp 0x1400ed445