Function at 0x140103540
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 [0x1402db040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, qword [rcx + 0xb08]
movsxd r14, edx
test rbx, rbx
je 0x1401035d2
mov dword [rsp + 0xbc], 0
mov qword [rsp + 0x58], r14
lea r14, [rsi + r14*8]
add r14, 0x4c0
cmp dword [rbx + 0x4020], 2
jne 0x1401038c1
mov rax, qword [rsi + 0xb08]
test rax, rax
je 0x14010366e
xor r12d, r12d
cmp dword [rax + 0x4020], 2
je 0x1401036a1
jmp 0x1401036ba
mov rax, qword [fcn.1400ab640]
mov ecx, 1
mov edx, 0x4028
call qword [0x1402cbd20]
test rax, rax
je 0x140103675
mov rdi, rax
mov qword [rsp + 0x58], r14
mov rcx, qword [rsi]
lea rdx, str.allocate_connect_buffer__n
call fcn.1400c5520
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 0x1401035ad
mov rax, qword [rsp + 0x58]
lea r14, [rsi + rax*8]
add r14, 0x4c0
jmp 0x1401035a0
xor eax, eax
xor r12d, r12d
jmp 0x1401036a1
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1401036ba
lea rdx, str.CONNECT_response_too_large_
mov rcx, rdi
call fcn.1400c5820
mov r12d, 0x38
jmp 0x14010369a
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.1400c5520
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
cmp rcx, qword [0x1402db040]
je 0x1401036d4
call fcn.1401ac870
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 0x14010369a
mov r12d, eax
jmp 0x140103704
mov r12d, eax
mov qword [rsp + 0xb0], 0
lea rdx, str.Failed_sending_CONNECT_to_proxy
mov rcx, rdi
call fcn.1400c5820
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
je 0x14010369a
mov rax, qword [fcn.140058110]
mov rcx, qword [rdi]
call qword [0x1402cbd20]
mov rax, qword [fcn.140058110]
mov rcx, rdi
call qword [0x1402cbd20]
jmp 0x14010369a
mov r12d, reloc.WLDAP32.dll_Ordinal_27
jmp 0x14010369a
mov r12d, ebp
jmp 0x140103713
cmp dword [rdi + 0x6b0], 0
je 0x140103786
cmp dword [rdi + 0x1220], 0
je 0x140103786
mov byte [rsi + 0x66b], 1
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_connection_closed_n
call fcn.1400c5520
xor r13d, r13d
jmp 0x14010379b
mov rcx, rdi
lea rdx, str.Proxy_CONNECT_aborted
call fcn.1400c5820
mov r13d, 1
mov dword [rbx + 0x4004], 0
jmp 0x1401037ca
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x1401037c7
mov dword [rbx + 0x4004], 0
xor r13d, r13d
mov rcx, rsi
call fcn.1400d0230
test eax, eax
jne 0x140103694
mov r12d, 0x38
test r13d, r13d
jne 0x14010369a
mov eax, dword [rdi + 0x15fc]
mov ecx, 0xffffff38
add eax, ecx
cmp eax, 0x64
mov r13d, dword [rsp + 0x7c]
jb 0x140103820
mov rcx, rsi
call fcn.1400e9370
test eax, eax
jne 0x1401036eb
cmp byte [rsi + 0x654], 1
jne 0x140103820
mov byte [rbx + 0x4025], 1
mov rax, qword [rdi + 0x1c8]
cmp byte [rbx + 0x4025], 1
je 0x1401041db
test rax, rax
je 0x1401041f2
cmp dword [rbx + 0x4020], 2
jne 0x140103888
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 0x14010392f
jmp 0x1401041f2
lea rcx, str.Host:__s_r_n
mov rdx, r13
call fcn.1400d2820
mov r14, rax
test rax, rax
jne 0x140103aa6
jmp 0x140104328
mov al, byte [rsi + 0x65e]
jmp 0x140103a49
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 0x140103c0b
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.1400c5520
mov rax, qword [fcn.140058110]
mov rcx, qword [rdi + 0x1c8]
call qword [0x1402cbd20]
mov qword [rdi + 0x1c8], 0
mov rax, qword [fcn.1400ab640]
mov ecx, 1
mov edx, Ordinal_26
call qword [0x1402cbd20]
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x140103749
mov dword [rsp + 0x54], r15d
mov qword [rsp + 0x90], r14
lea rcx, str._s:_d
mov rdx, r12
mov r8d, r13d
call fcn.1400d2820
mov r12d, reloc.WLDAP32.dll_Ordinal_27
test rax, rax
je 0x140103713
mov r14, rax
mov rcx, rsi
lea rdx, str.CONNECT
mov r8, rax
mov r9b, 1
call fcn.1400e9900
mov ebp, eax
mov rax, qword [fcn.140058110]
mov rcx, r14
call qword [0x1402cbd20]
test ebp, ebp
jne 0x140103754
cmp dword [rsi + 0x3dc], 1
lea rbp, [0x1402bea3f]
lea rax, [0x1402af095]
cmove rbp, rax
mov r14, qword [rsp + 0x88]
cmp r14, qword [rsi + 0x340]
je 0x1401038b6
mov rcx, r14
mov edx, 0x3a
call fcn.1401aac0c
test rax, rax
setne al
test al, al
lea rdx, [0x14029ebc9]
mov r9, rdx
lea rax, [0x14029ed18]
cmovne r9, rax
lea rax, [0x14029f652]
cmovne rdx, rax
mov dword [rsp + 0x20], r13d
lea rcx, str._s_s_s:_d
mov r8, r14
call fcn.1400d2820
test rax, rax
je 0x140103713
mov r13, rax
mov rcx, rsi
lea rdx, str.Host
call fcn.1400e91f0
test rax, rax
je 0x140103896
xor r14d, r14d
mov r15, rdi
mov rcx, rsi
lea rdx, str.Proxy_Connection
call fcn.1400e91f0
test rax, rax
lea r12, [0x14029ebc9]
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.1400e91f0
mov rcx, r12
test rax, rax
jne 0x140103afb
cmp qword [r15 + 0xd08], 0
mov rcx, r12
je 0x140103afb
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.1400ea690
mov r12d, eax
test r14, r14
je 0x140103b59
mov rax, qword [fcn.140058110]
mov rcx, r14
call qword [0x1402cbd20]
mov rax, qword [fcn.140058110]
mov rcx, r13
call qword [0x1402cbd20]
test r12d, r12d
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov rdi, r15
jne 0x1401036f8
mov r8, qword [rsp + 0xb0]
mov rcx, rsi
mov dl, 1
call fcn.1400ea990
test eax, eax
jne 0x1401036f5
lea r14, [rsp + 0xb0]
mov rcx, r14
lea rdx, [0x14029ebcc]
call fcn.1400ea690
test eax, eax
jne 0x1401036f5
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.1400ea260
mov qword [rsp + 0xb0], 0
test eax, eax
jne 0x1401036f0
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.1400ca6d0
test rax, rax
jle 0x140103cb8
mov rax, qword [0x1402e9840]
mov rax, qword [rax + 0x48]
mov rcx, rsi
mov edx, r15d
call qword [0x1402cbd20]
test al, al
jne 0x140103c96
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x140103c62
mov rax, qword [rsp + 0x60]
cmp qword [rax + 8], 0
je 0x140103c62
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
ja 0x140103c96
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsi + rax*8 + 0x4c0]
mov rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.1400e5530
test eax, eax
jle 0x1401035ad
and eax, 1
je 0x1401035ad
xor r13d, r13d
cmp dword [rbx + 0x4004], 0
je 0x1401037ca
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x68]
jmp 0x140103d6f
lea rdx, str.Proxy_CONNECT_aborted_due_to_timeout
mov rcx, rdi
call fcn.1400c5820
mov r12d, 0x1c
jmp 0x14010369a
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.1400db980
cmp eax, 0xffffffff
jne 0x140103d62
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400c5520
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x140103d62
mov qword [rbx + 0x4010], rbx
mov rax, qword [rbx + 0x4018]
test rax, rax
je 0x140103cd2
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rcx
cmp rax, 1
jle 0x1401037a7
cmp dword [rbx + 0x4004], 0
je 0x1401037c7
mov qword [rsp + 0xb0], rbp
mov r8, qword [rbx + 0x4010]
cmp r8, r12
jae 0x14010367d
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 [0x1402cbd20]
test rax, rax
js 0x140103e3e
add qword [rsp + 0xb0], rax
mov rcx, rsi
call fcn.1400d0230
test eax, eax
jne 0x140103694
cmp qword [rsp + 0xb0], 0
jle 0x140103759
cmp dword [rbx + 0x4004], 2
jge 0x140103d39
movsxd r9, dword [rbx + 0x4000]
inc r9
mov dword [rbx + 0x4000], r9d
mov rax, qword [rbx + 0x4010]
cmp byte [rax], 0xa
je 0x140103e71
inc rax
mov qword [rbx + 0x4010], rax
jmp 0x140103d62
mov ebp, dword [rsp + 0xa0]
cmp ebp, 0x51
je 0x1401035ad
mov rcx, rsi
call fcn.1400d0230
test eax, eax
jne 0x140103694
test ebp, ebp
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x140103df6
jmp 0x1401037bd
cmp byte [rdi + 0xf1e], 1
jne 0x140103e95
mov r8, qword [rbx + 0x4008]
mov rcx, rdi
mov edx, 1
call fcn.1400c5720
mov r9d, dword [rbx + 0x4000]
cmp byte [rdi + 0xf32], 0
jne 0x140103ecb
movzx edx, byte [rdi + 0xf19]
or edx, 2
movsxd r9, r9d
mov r8, qword [rbx + 0x4008]
mov rcx, rsi
call fcn.1400c5f80
test eax, eax
jne 0x1401036eb
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 0x140103ef7
cmp ecx, 0xa
jne 0x140103f5d
mov qword [rbx + 0x4010], rbx
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0x197
jne 0x140103f14
cmp byte [rdi + 0x1599], 0
je 0x140103f32
mov dword [rbx + 0x4004], 0
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
jne 0x140103d62
jmp 0x140103d2d
mov dword [rbx + 0x4004], 2
mov r8, qword [rbx + 0x4018]
test r8, r8
je 0x1401040f7
mov rcx, rdi
lea rdx, str.Ignore__I64d_bytes_of_response_body_n
call fcn.1400c5520
jmp 0x140103f1e
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.1400be120
test eax, eax
je 0x14010401d
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0x191
jne 0x14010401d
xor ebp, ebp
mov r13d, r15d
mov r15, r14
mov rcx, qword [rbx + 0x4008]
call fcn.1400e9270
test rax, rax
je 0x140103749
mov r14, rax
mov rcx, rsi
mov edx, ebp
mov r8, rax
call fcn.1400e9e20
mov r12d, eax
mov rax, qword [fcn.140058110]
mov rcx, r14
call qword [0x1402cbd20]
test r12d, r12d
mov r14, r15
mov r15d, r13d
mov r13, qword [rsp + 0x80]
movabs rbp, 0xaaaaaaaaaaaaaaaa
jne 0x14010369a
mov dword [rbx + 0x4000], 0
mov qword [rbx + 0x4010], rbx
mov qword [rbx + 0x4008], rbx
mov r12, qword [rsp + 0x68]
jmp 0x140103d62
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x13
lea rcx, str.Proxy_authenticate:
call fcn.1400be120
test eax, eax
je 0x14010404e
mov bpl, 1
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0x197
je 0x140103f9c
mov rdx, qword [rbx + 0x4008]
mov r8d, 0xf
lea rcx, str.Content_Length:
call fcn.1400be120
test eax, eax
je 0x1401040bf
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
movabs rbp, 0xaaaaaaaaaaaaaaaa
ja 0x14010409d
mov rcx, rdi
lea rdx, str.Ignoring_Content_Length_in_CONNECT__03d_response_n
call fcn.1400c5520
jmp 0x140103ffb
mov rcx, qword [rbx + 0x4008]
add rcx, 0xf
xor edx, edx
mov r8d, 0xa
mov r9, qword [rsp + 0x70]
call fcn.1400dc040
jmp 0x140103ffb
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Connection:
lea r8, str.close
call fcn.1400ea8a0
test al, al
movabs rbp, 0xaaaaaaaaaaaaaaaa
je 0x140104193
mov byte [rbx + 0x4025], 1
jmp 0x140103ffb
cmp byte [rbx + 0x4024], 1
jne 0x140103f14
mov dword [rsp + 0xa0], 0xaaaaaaaa
mov rcx, rdi
lea rdx, str.Ignore_chunked_response_body_n
call fcn.1400c5520
mov byte [rdi + 0x65b], 1
mov rdx, qword [rbx + 0x4008]
cmp byte [rdx + 1], 0xa
jne 0x14010413c
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.1400db980
cmp eax, 0xffffffff
jne 0x140103f1e
mov rcx, rdi
lea rdx, str.chunk_reading_DONE_n
call fcn.1400c5520
mov dword [rbx + 0x4004], 0
mov dword [rbx + 0x4020], 2
jmp 0x140103f1e
mov rdx, qword [rbx + 0x4008]
mov r8d, 0x12
lea rcx, str.Transfer_Encoding:
call fcn.1400be120
test eax, eax
je 0x14010433d
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax]
lea eax, [r8 - 0xc8]
cmp eax, 0x63
ja 0x140104399
mov rcx, rdi
lea rdx, str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
jmp 0x140104093
test rax, rax
je 0x1401041f2
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400cb7a0
mov qword [r14], 0xffffffffffffffff
mov eax, 0xffffff38
add eax, dword [rdi + 0x15fc]
cmp eax, 0x64
jae 0x14010425d
mov dword [rbx + 0x4020], 2
mov rax, qword [fcn.140058110]
mov rcx, qword [rsi + 0x6d8]
call qword [0x1402cbd20]
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.1400c5520
xor eax, eax
mov byte [rdi + 0x65b], al
mov byte [rsi + 0x665], al
jmp 0x1401035ad
mov rcx, qword [rdi + 0x1c8]
test rcx, rcx
setne al
and al, byte [rbx + 0x4025]
cmp al, 1
je 0x1401042c0
mov rax, qword [fcn.140058110]
call qword [0x1402cbd20]
mov qword [rdi + 0x1c8], 0
mov rax, qword [rsi + 0x698]
test byte [rax + 0x81], 2
jne 0x1401042ac
cmp byte [rsi + 0x654], 0
jne 0x1401042ac
mov byte [rsi + 0x654], 1
mov rdx, qword [r14]
mov rcx, rsi
call fcn.1400cb7a0
mov qword [r14], 0xffffffffffffffff
jmp 0x1401042f6
mov byte [rsi + 0x66b], 1
lea rdx, str.Connect_me_again_please_n
mov rcx, rdi
call fcn.1400c5520
mov rax, qword [rsi + 0xb08]
mov dword [rax + 0x4020], 2
mov rcx, qword [rsi]
lea rdx, str.CONNECT_phase_completed__n
call fcn.1400c5520
mov dword [rbx + 0x4020], 0
cmp byte [rsi + 0x66b], 0
jne 0x1401035ad
mov r8d, dword [rdi + 0x178]
lea rdx, str.Received_HTTP_code__d_from_proxy_after_CONNECT
mov rcx, rdi
call fcn.1400c5820
jmp 0x14010369a
mov rax, qword [fcn.140058110]
mov rcx, r13
call qword [0x1402cbd20]
jmp 0x140103713
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Proxy_Connection:
lea r8, str.close
call fcn.1400ea8a0
test al, al
jne 0x1401040eb
mov rcx, qword [rbx + 0x4008]
lea rdx, str.HTTP_1._d__d
lea r8, [rsp + 0xbc]
mov r9, qword [rsp + 0x48]
call fcn.14004e180
cmp eax, 2
jne 0x140103ffb
mov eax, dword [rdi + 0x178]
mov dword [rdi + 0x15fc], eax
jmp 0x140103ffb
mov rcx, qword [rbx + 0x4008]
lea rdx, str.Transfer_Encoding:
lea r8, str.chunked
call fcn.1400ea8a0
test al, al
je 0x140103ffb
mov rcx, rdi
lea rdx, str.CONNECT_responded_chunked_n
call fcn.1400c5520
mov byte [rbx + 0x4024], 1
xor eax, eax
mov qword [rsi + 0x2a4], rax
mov qword [rsi + 0x2b8], rax
jmp 0x140103ffb