Function at 0x1400ec960
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 0x1400eca35
mov dword [rsp + 0xbc], 0
lea rax, [rsi + r12*8]
add rax, 0x4c0
cmp dword [rbx + 0x4020], 2
jne 0x1400ecb7b
mov rax, qword [rsi + 0xb08]
xor r12d, r12d
test rax, rax
je 0x1400ec9de
cmp dword [rax + 0x4020], 2
jne 0x1400ec9fe
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400b0c00
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140191d70
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 0x1400ec9de
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400ec9fe
mov rax, qword [fcn.14018dbe0]
mov ecx, 1
mov edx, 0x4028
call qword [0x1402a3ee8]
test rax, rax
je 0x1400eca2d
mov rdi, rax
mov rcx, qword [rsi]
lea rdx, str.allocate_connect_buffer__n
call fcn.1400b0c00
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 0x1400ec9af
jmp 0x1400ec9c6
lea rdx, str.CONNECT_response_too_large_
mov rcx, rdi
call fcn.1400b0f00
mov r12d, 0x38
jmp 0x1400ec9de
mov r12d, eax
jmp 0x1400ec9de
mov r12d, eax
jmp 0x1400ecaee
mov r12d, eax
mov qword [rsp + 0xb0], 0
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rdi
call fcn.1400b0f00
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
je 0x1400ec9de
mov rax, qword [fcn.14018db40]
mov rcx, qword [rdi]
call qword [0x1402a3ee8]
mov rax, qword [fcn.14018db40]
mov rcx, rdi
call qword [0x1402a3ee8]
jmp 0x1400ec9de
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400ec9de
mov r12d, ebp
jmp 0x1400ecafd
lea rcx, str.Host:__s_r_n
mov rdx, r13
call fcn.1400bc1e0
mov r14, rax
test rax, rax
jne 0x1400ecd5e
mov rax, qword [fcn.14018db40]
mov rcx, r13
call qword [0x1402a3ee8]
jmp 0x1400ecafd
mov al, byte [rsi + 0x65e]
jmp 0x1400eccfe
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 0x1400eceba
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.1400b0c00
mov rax, qword [fcn.14018db40]
mov rcx, qword [rdi + 0x1c8]
call qword [0x1402a3ee8]
mov qword [rdi + 0x1c8], 0
mov rax, qword [fcn.14018dbe0]
mov ecx, 1
mov edx, Ordinal_26
call qword [0x1402a3ee8]
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x1400ecb33
mov dword [rsp + 0x5c], r15d
lea rcx, str._s:_d
mov rdx, r13
mov dword [rsp + 0x4c], r14d
mov r8d, r14d
call fcn.1400bc1e0
mov r12d, reloc.WLDAP32.dll_Ordinal_27
test rax, rax
je 0x1400ecafd
mov r14, rax
mov rcx, rsi
lea rdx, str.CONNECT
mov r8, rax
mov r9b, 1
call fcn.1400d2f60
mov ebp, eax
mov rax, qword [fcn.14018db40]
mov rcx, r14
call qword [0x1402a3ee8]
test ebp, ebp
jne 0x1400ecb3e
cmp dword [rsi + 0x3dc], 1
lea rbp, [0x140295774]
lea rax, [0x140285ee0]
cmove rbp, rax
cmp qword [rsi + 0x340], r13
je 0x1400ecb70
mov rcx, r13
mov edx, 0x3a
call fcn.14019053c
test rax, rax
setne al
mov ecx, dword [rsp + 0x4c]
lea rdx, [0x140274715]
test al, al
mov r9, rdx
lea rax, [0x140274a34]
cmovne r9, rax
lea rax, [0x14027633f]
cmovne rdx, rax
mov dword [rsp + 0x20], ecx
lea rcx, str._s_s_s:_d
mov r8, r13
call fcn.1400bc1e0
test rax, rax
je 0x1400ecafd
mov r13, rax
mov rcx, rsi
lea rdx, str.Host
call fcn.1400d2850
test rax, rax
je 0x1400ecb43
xor r14d, r14d
mov rcx, rsi
lea rdx, str.Proxy_Connection
call fcn.1400d2850
test rax, rax
lea r15, [0x140274715]
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.1400d2850
mov rcx, r15
test rax, rax
jne 0x1400ecdb0
cmp qword [rdi + 0xd08], 0
mov rcx, r15
je 0x1400ecdb0
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.1400d3cf0
mov r12d, eax
test r14, r14
je 0x1400ece11
mov rax, qword [fcn.14018db40]
mov rcx, r14
call qword [0x1402a3ee8]
mov rax, qword [fcn.14018db40]
mov rcx, r13
call qword [0x1402a3ee8]
test r12d, r12d
movabs rbp, 0xaaaaaaaaaaaaaaaa
jne 0x1400ecae2
mov r8, qword [rsp + 0xb0]
mov rcx, rsi
mov dl, 1
call fcn.1400d3fe0
test eax, eax
jne 0x1400ecadf
mov rcx, r15
lea rdx, [0x1402746c4]
call fcn.1400d3cf0
test eax, eax
jne 0x1400ecadf
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.1400d38d0
mov qword [rsp + 0xb0], 0
test eax, eax
jne 0x1400ecada
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.1400b5e20
test rax, rax
jle 0x1400ed66d
mov rax, qword [0x1402c1810]
mov rax, qword [rax + 0x48]
mov rcx, rsi
mov edx, r15d
call qword [0x1402a3ee8]
test al, al
jne 0x1400ecf40
mov rax, qword [rsp + 0x68]
cmp qword [rax], 0
je 0x1400ecf11
mov rax, qword [rsp + 0x68]
cmp qword [rax + 8], 0
je 0x1400ecf11
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
ja 0x1400ecf40
mov rcx, qword [rsi + r12*8 + 0x4c0]
mov rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.1400cebd0
test eax, eax
jle 0x1400ec9c6
and eax, 1
je 0x1400ec9c6
cmp dword [rbx + 0x4004], 0
mov r13, qword [rsp + 0x80]
jne 0x1400ed193
xor r13d, r13d
mov rcx, rsi
call fcn.1400b9c70
test eax, eax
jne 0x1400eca25
test r13d, r13d
jne 0x1400ecac7
mov eax, dword [rdi + 0x15fc]
mov ecx, 0xffffff38
add eax, ecx
cmp eax, 0x64
mov r13, qword [rsp + 0x98]
jb 0x1400ecfb0
mov rcx, rsi
call fcn.1400d29d0
test eax, eax
jne 0x1400ecad2
cmp byte [rsi + 0x654], 1
mov r12, qword [rsp + 0x60]
jne 0x1400ecfb0
mov byte [rbx + 0x4025], 1
mov rax, qword [rdi + 0x1c8]
cmp byte [rbx + 0x4025], 1
je 0x1400ed687
test rax, rax
je 0x1400ed01d
cmp dword [rbx + 0x4020], 2
jne 0x1400ed014
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 0x1400ecbf7
mov eax, 0xffffff38
add eax, dword [rdi + 0x15fc]
cmp eax, 0x64
jae 0x1400ed6ac
mov dword [rbx + 0x4020], 2
mov rax, qword [fcn.14018db40]
mov rcx, qword [rsi + 0x6d8]
call qword [0x1402a3ee8]
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.1400b0c00
xor eax, eax
mov byte [rdi + 0x65b], al
mov byte [rsi + 0x665], al
jmp 0x1400ec9c6
cmp dword [rdi + 0x6b0], 0
je 0x1400ed0b9
cmp dword [rdi + 0x1220], 0
je 0x1400ed0b9
mov byte [rsi + 0x66b], 1
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_connection_closed_n
call fcn.1400b0c00
xor r13d, r13d
jmp 0x1400ed0ce
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_aborted
call fcn.1400b0f00
mov r13d, 1
mov dword [rbx + 0x4004], 0
jmp 0x1400ecf58
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400ecf55
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.1400c5130
cmp eax, 0xffffffff
jne 0x1400ed186
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400b0c00
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400ed186
mov qword [rbx + 0x4010], rbx
mov rax, qword [rbx + 0x4018]
test rax, rax
je 0x1400ed0f6
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rcx
cmp rax, 1
jle 0x1400ed0dd
cmp dword [rbx + 0x4004], 0
je 0x1400ecf55
mov qword [rsp + 0xb0], rbp
mov r8, qword [rbx + 0x4010]
cmp r8, qword [rsp + 0x88]
jae 0x1400ecab8
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 [0x1402a3ee8]
test rax, rax
js 0x1400ed267
add qword [rsp + 0xb0], rax
mov rcx, rsi
call fcn.1400b9c70
test eax, eax
jne 0x1400eca25
cmp qword [rsp + 0xb0], 0
jle 0x1400ed08c
cmp dword [rbx + 0x4004], 2
jge 0x1400ed15d
movsxd r9, dword [rbx + 0x4000]
inc r9
mov dword [rbx + 0x4000], r9d
mov rax, qword [rbx + 0x4010]
cmp byte [rax], 0xa
je 0x1400ed2a4
inc rax
mov qword [rbx + 0x4010], rax
jmp 0x1400ed186
mov ebp, dword [rsp + 0xa0]
cmp ebp, 0x51
je 0x1400ec9c6
mov rcx, rsi
call fcn.1400b9c70
test eax, eax
jne 0x1400eca25
test ebp, ebp
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400ed21f
mov dword [rbx + 0x4004], 0
jmp 0x1400ecf55
cmp byte [rdi + 0xf1e], 1
jne 0x1400ed2c8
mov r8, qword [rbx + 0x4008]
mov rcx, rdi
mov edx, 1
call fcn.1400b0e00
mov r9d, dword [rbx + 0x4000]
cmp byte [rdi + 0xf32], 0
jne 0x1400ed305
movzx edx, byte [rdi + 0xf19]
or edx, 2
movsxd r9, r9d
mov r8, qword [rbx + 0x4008]
mov rcx, rsi
call fcn.1400b1650
test eax, eax
jne 0x1400ecad2
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 0x1400ed331
cmp ecx, 0xa
jne 0x1400ed397
mov qword [rbx + 0x4010], rbx
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x197
jne 0x1400ed34e
cmp byte [rdi + 0x1599], 0
je 0x1400ed36c
mov dword [rbx + 0x4004], 0
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
jne 0x1400ed186
jmp 0x1400ed151
mov dword [rbx + 0x4004], 2
mov r8, qword [rbx + 0x4018]
test r8, r8
je 0x1400ed531
mov rcx, rdi
lea rdx, str.Ignore__I64d_bytes_of_response_body_n
call fcn.1400b0c00
jmp 0x1400ed358
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.1400a9860
test eax, eax
je 0x1400ed457
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x191
jne 0x1400ed457
xor ebp, ebp
mov r13d, r15d
mov r15d, r14d
mov rcx, qword [rbx + 0x4008]
call fcn.1400d28d0
test rax, rax
je 0x1400ecb33
mov r14, rax
mov rcx, rsi
mov edx, ebp
mov r8, rax
call fcn.1400d34a0
mov r12d, eax
mov rax, qword [fcn.14018db40]
mov rcx, r14
call qword [0x1402a3ee8]
test r12d, r12d
mov r14d, r15d
mov r15d, r13d
mov r13, qword [rsp + 0x80]
movabs rbp, 0xaaaaaaaaaaaaaaaa
jne 0x1400ec9de
mov dword [rbx + 0x4000], 0
mov qword [rbx + 0x4010], rbx
mov qword [rbx + 0x4008], rbx
mov r12, qword [rsp + 0x60]
jmp 0x1400ed186
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x13
lea rcx, str.Proxy_authenticate:
call fcn.1400a9860
test eax, eax
je 0x1400ed488
mov bpl, 1
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0x197
je 0x1400ed3d6
mov rdx, qword [rbx + 0x4008]
mov r8d, 0xf
lea rcx, str.Content_Length:
call fcn.1400a9860
test eax, eax
je 0x1400ed4f9
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
movabs rbp, 0xaaaaaaaaaaaaaaaa
ja 0x1400ed4d7
mov rcx, rdi
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response_n
call fcn.1400b0c00
jmp 0x1400ed435
mov rcx, qword [rbx + 0x4008]
add rcx, 0xf
xor edx, edx
mov r8d, 0xa
mov r9, qword [rsp + 0x70]
call fcn.1400c57e0
jmp 0x1400ed435
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Connection:
lea r8, str.close
call fcn.1400d3ef0
test al, al
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x1400ed5cd
mov byte [rbx + 0x4025], 1
jmp 0x1400ed435
cmp byte [rbx + 0x4024], 1
jne 0x1400ed34e
mov dword [rsp + 0xa0], 0xaaaaaaaa
mov rcx, rdi
lea rdx, str.Ignore_chunked_response_body_n
call fcn.1400b0c00
mov byte [rdi + 0x65b], 1
mov rdx, qword [rbx + 0x4008]
cmp byte [rdx + 1], 0xa
jne 0x1400ed576
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.1400c5130
cmp eax, 0xffffffff
jne 0x1400ed358
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400b0c00
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1400ed358
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x12
lea rcx, str.Transfer_Encoding:
call fcn.1400a9860
test eax, eax
je 0x1400ed611
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
ja 0x1400ed77c
mov rcx, rdi
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
jmp 0x1400ed4cd
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Proxy_Connection:
lea r8, str.close
call fcn.1400d3ef0
test al, al
jne 0x1400ed525
mov rcx, qword [rbx + 0x4008]
lea rdx, str.HTTP_1._d__d
lea r8, [rsp + 0xbc]
mov r9, qword [rsp + 0x50]
call fcn.140031230
cmp eax, 2
jne 0x1400ed435
mov eax, dword [rdi + 0x178]
mov dword [rdi + 0x15fc], eax
jmp 0x1400ed435
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rdi
call fcn.1400b0f00
mov r12d, 0x1c
jmp 0x1400ec9de
test rax, rax
je 0x1400ed01d
mov r14, qword [rsp + 0x78]
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400b6ea0
mov qword [r14], 0xffffffffffffffff
jmp 0x1400ed01d
mov rcx, qword [rdi + 0x1c8]
test rcx, rcx
setne al
and al, byte [rbx + 0x4025]
cmp al, 1
je 0x1400ed714
mov rax, qword [fcn.14018db40]
call qword [0x1402a3ee8]
mov qword [rdi + 0x1c8], 0
mov rax, qword [rsi + 0x698]
test byte [rax + 0x81], 2
jne 0x1400ed6fb
cmp byte [rsi + 0x654], 0
jne 0x1400ed6fb
mov byte [rsi + 0x654], 1
mov r14, qword [rsp + 0x78]
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400b6ea0
mov qword [r14], 0xffffffffffffffff
jmp 0x1400ed74a
mov byte [rsi + 0x66b], 1
lea rdx, str.Connect_me_again_please_n
mov rcx, rdi
call fcn.1400b0c00
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400b0c00
mov dword [rbx + 0x4020], 0
cmp byte [rsi + 0x66b], 0
jne 0x1400ec9c6
mov r8d, dword [rdi + 0x178]
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rdi
call fcn.1400b0f00
jmp 0x1400ecac7
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Transfer_Encoding:
lea r8, str.chunked
call fcn.1400d3ef0
test al, al
je 0x1400ed435
mov rcx, rdi
lea rdx, str.CONNECT_responded_chunked_n
call fcn.1400b0c00
mov byte [rbx + 0x4024], 1
xor eax, eax
mov qword [rsi + 0x2a4], rax
mov qword [rsi + 0x2b8], rax
jmp 0x1400ed435