Function at 0x140015880
Capabilities:
Check http status code
Read http header
Receive http response

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov qword [rbp - 0x21], 0xfffffffffffffffe
mov rax, qword [0x1401c7ef8]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, r9
mov qword [rbp - 0x49], r9
mov qword [rbp - 0x59], r8
mov r15, rdx
mov rbx, rcx
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp - 0x61], rax
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 4
mov qword [rsp + 0x28], 0
lea rax, [rbp - 0x71]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x79]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
or r14, 0xffffffffffffffff
mov eax, dword [rbp - 0x79]
cmp eax, 0x197
je 0x14001593a
cmp eax, 0x191
jne 0x140015b90
cmp qword [rbx + 0x20], 0
je 0x140015952
mov rcx, qword [rbx + 0x20]
mov rax, qword [rcx]
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x61]
call qword [rax]
mov r13d, 1
xor r9d, r9d
mov r12d, r9d
xor sil, sil
jmp 0x14001596c
mov rdi, qword [rbp - 0x49]
jmp 0x14001596c
xor r9d, r9d
test r13d, r13d
je 0x140015998
mov qword [rsp + 0x28], r9
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x61]
mov r8d, r13d
mov edx, 1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpSetCredentials]
xor r9d, r9d
mov qword [rsp + 0x30], r9
test r15, r15
jne 0x1400159b6
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], r9d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
jmp 0x1400159d9
mov edx, dword [rdi]
xor eax, eax
mov rcx, r14
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], edx
mov r9, qword [rbp - 0x59]
mov rdx, r15
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov edi, eax
test eax, eax
je 0x1400159fb
xor edx, edx
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov edi, eax
test eax, eax
jne 0x140015a1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f00
mov r9d, 0
je 0x140015963
test edi, edi
je 0x140015afb
mov qword [rsp + 0x28], 0
lea rax, [rbp - 0x71]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x79]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov edi, eax
test eax, eax
je 0x140015afb
mov eax, dword [rbp - 0x79]
sub eax, 0xc8
je 0x140015af8
sub eax, 0xc9
je 0x140015a9a
cmp eax, 6
jne 0x140015af8
lea r9, [rbp - 0x6d]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x75]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryAuthSchemes]
mov edi, eax
test eax, eax
je 0x140015a91
mov ecx, dword [rbp - 0x75]
call fcn.140016920
mov r13d, eax
cmp r12d, 0x197
jmp 0x140015af6
lea r9, [rbp - 0x6d]
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x75]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpQueryAuthSchemes]
mov edi, eax
test eax, eax
je 0x140015aef
mov ecx, dword [rbp - 0x75]
call fcn.140016920
mov r8d, eax
test eax, eax
jne 0x140015aca
mov sil, 1
jmp 0x140015aef
mov qword [rsp + 0x28], 0
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x61]
mov edx, dword [rbp - 0x6d]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpSetCredentials]
mov edi, eax
cmp r12d, 0x191
jne 0x140015afb
mov sil, 1
mov r12d, dword [rbp - 0x79]
test edi, edi
je 0x140015b10
test sil, sil
mov rdi, qword [rbp - 0x49]
je 0x140015969
cmp dword [rbp - 0x79], 0xc8
je 0x140015b90
mov qword [rbp - 1], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rbp - 9], 0
mov byte [rbp - 0x19], 0
mov r8d, 0x1b
lea rdx, str.Authentication_proxy_fails.
lea rcx, [rbp - 0x19]
call fcn.1400082f0
nop
lea rax, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rax, qword [rbp - 0x19]
mov qword [rbp - 0x59], rax
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x41]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.Cxx::Network::Exception::CNetworkException.0
mov qword [rbp - 0x41], rdx
mov dword [rbp - 0x29], 7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x25], eax
lea rdx, [0x140185380]
lea rcx, [rbp - 0x41]
call sub.MSVCR100.dll__CxxThrowException
nop
mov rdx, qword [rbp - 0x69]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140015bb0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x61]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x140015bcf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400d6f80
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret