Function at 0x140017ac0
Capabilities:
Query remote server for available data
Read data from internet
Receive data

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov qword [rbp - 0x11], 0xfffffffffffffffe
mov qword [rsp + 0x108], rbx
mov rax, qword [0x1401c7ef8]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov qword [rbp - 0x61], r8
mov r15, rdx
mov r14, rcx
xor ebx, ebx
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x69], ebx
mov esi, ebx
mov qword [rbp - 0x31], rbx
mov edi, ebx
mov qword [rbp - 0x29], rbx
mov r13d, ebx
mov qword [rbp - 0x21], rbx
mov r12d, ebx
nop
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x69]
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x140017cf4
mov eax, dword [rbp - 0x69]
sub rax, rsi
lea rbx, [rax + rdi + 1]
mov rcx, rdi
sub rcx, rsi
cmp rcx, rbx
jbe 0x140017b76
add rbx, rsi
cmp rbx, rdi
je 0x140017bf1
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_memmove]
mov rdi, rbx
mov qword [rbp - 0x29], rbx
jmp 0x140017bf1
jae 0x140017bf1
mov rdx, rsi
sub rdx, rdi
add rdx, rbx
or rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x140017c1c
add rcx, rdx
mov rdx, r13
sub rdx, rsi
cmp rcx, rdx
jbe 0x140017bd4
mov r8, rdx
shr r8, 1
or rax, 0xffffffffffffffff
sub rax, r8
cmp rax, rdx
jae 0x140017bb5
xor edx, edx
jmp 0x140017bb8
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rbp - 0x31]
call fcn.14000f520
mov r13, qword [rbp - 0x21]
mov rdi, qword [rbp - 0x29]
mov rsi, qword [rbp - 0x31]
mov r8, rsi
sub r8, rdi
add r8, rbx
je 0x140017be9
xor edx, edx
mov rcx, rdi
call sub.MSVCR100.dll_memset
lea rdi, [rsi + rbx]
mov qword [rbp - 0x29], rdi
movsxd rdx, r12d
add rdx, rsi
lea r9, [rbp - 0x59]
mov r8d, dword [rbp - 0x69]
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140017c7d
mov eax, dword [rbp - 0x59]
test eax, eax
je 0x140017c2a
add r12d, eax
jmp 0x140017b20
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea ebx, [r12 + 1]
mov rdi, qword [rbp - 0x61]
mov dword [rdi], ebx
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.1400d6a4c
mov qword [r15], rax
movsxd r8, ebx
mov rdx, rsi
mov rcx, rax
call sub.MSVCR100.dll_memcpy
movsxd r11, dword [rdi]
mov rax, qword [r15]
mov byte [r11 + rax + 1], 0
movsxd rdx, dword [rdi]
mov rax, qword [r15]
mov byte [rdx + rax], 0
test rsi, rsi
je 0x140017d6b
mov rcx, rsi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
jmp 0x140017d6b
mov qword [rbp + reloc.OLEAUT32.dll_SafeArrayDestroy], 0xf
mov qword [rbp + 7], 0
mov byte [rbp - 9], 0
mov r8d, 0x36
lea rdx, str.Error_by_receiving_data_from_server___synchronously__.
lea rcx, [rbp - 9]
call fcn.1400082f0
nop
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rax, qword [rbp - 9]
mov qword [rbp - 0x61], rax
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x51]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea r11, vtable.Cxx::Network::Exception::CNetworkException.0
mov qword [rbp - 0x51], r11
mov dword [rbp - 0x39], 7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x35], eax
lea rdx, [0x140185380]
lea rcx, [rbp - 0x51]
call sub.MSVCR100.dll__CxxThrowException
nop
mov qword [rbp + reloc.OLEAUT32.dll_SafeArrayDestroy], 0xf
mov qword [rbp + 7], 0
mov byte [rbp - 9], 0
mov r8d, 0x62
lea rdx, str.Error_by_receiving_data_from_server___synchronously__._____________Available_data_size_is_unknown.
lea rcx, [rbp - 9]
call fcn.1400082f0
nop
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rax, qword [rbp - 9]
mov qword [rbp - 0x61], rax
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x51]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea r11, vtable.Cxx::Network::Exception::CNetworkException.0
mov qword [rbp - 0x51], r11
mov dword [rbp - 0x39], 7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x35], eax
lea rdx, [0x140185380]
lea rcx, [rbp - 0x51]
call sub.MSVCR100.dll__CxxThrowException
nop
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400d6f80
mov rbx, qword [rsp + 0x108]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret