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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x20], r12d
mov ebp, r12d
mov ebx, r12d
lea rdx, [rsp + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov edx, dword [rsp + 0x78]
test edx, edx
je 0x140001905
test rbp, rbp
je 0x1400018b3
lea edi, [rbx + rdx]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r9, [rdi + 4]
mov r8, rbp
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
jmp 0x1400018ce
mov rdi, rdx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rdi + 4]
mov rcx, rax
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
test rax, rax
je 0x140001996
mov r8d, dword [rsp + 0x78]
mov edx, ebx
lea r9, [rsp + 0x20]
add rdx, rax
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140001975
add ebx, dword [rsp + 0x20]
cmp dword [rsp + 0x78], r12d
jne 0x140001872
test ebx, ebx
je 0x140001bd0
mov edx, 0xd
mov rcx, rbp
mov qword [rsp + 0x68], r13
call fcn.1400036e8
test rax, rax
je 0x140001927
mov byte [rax], r12b
mov edx, 0xa
mov rcx, rbp
call fcn.1400036e8
test rax, rax
je 0x14000193c
mov byte [rax], r12b
mov edx, 9
mov rcx, rbp
call fcn.1400036e8
test rax, rax
je 0x140001951
mov byte [rax], r12b
mov edx, 0x20
mov rcx, rbp
call fcn.1400036e8
test rax, rax
jne 0x1400019a0
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx - 1]
jmp 0x1400019af
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x140001bd0
movzx r12d, ax
or r12d, 0x80070000
jmp 0x140001bd0
mov eax, 0x8007000e
jmp 0x140001bec
mov edx, 0x20
mov rcx, rbp
call fcn.1400036e8
sub eax, ebp
or rcx, 0xffffffffffffffff
mov ebx, eax
xor eax, eax
lea rdi, [r14 + 0x104]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jae 0x1400019cf
mov ecx, ebx
jmp 0x1400019e2
or rcx, 0xffffffffffffffff
lea rdi, [r14 + 0x104]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8, rcx
lea rcx, [r14 + 0x104]
mov rdx, rbp
call fcn.140003af0
or rcx, 0xffffffffffffffff
test eax, eax
jne 0x140001a76
xor eax, eax
mov dword [r15], 1
lea rdi, [r14 + 0x104]
repne scasb al, byte [rdi]
not rcx
lea rsi, [rcx + rbp]
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
dec rcx
mov dword [r15 + 0x10], ecx
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rbx + 4]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r8d, dword [rsp + 0x20]
or rcx, 0xffffffffffffffff
mov r11, rax
mov qword [r15 + 8], rax
xor eax, eax
lea rdi, [r14 + 0x104]
mov rdx, rsi
repne scasb al, byte [rdi]
not rcx
dec rcx
sub r8, rcx
mov rcx, r11
call fcn.140003720
jmp 0x140001bcb
xor eax, eax
lea rdi, [r14 + 0x208]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jae 0x140001a91
mov rcx, rbx
jmp 0x140001aa4
or rcx, 0xffffffffffffffff
lea rdi, [r14 + 0x208]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8, rcx
lea rcx, [r14 + 0x208]
mov rdx, rbp
call fcn.140003af0
test eax, eax
jne 0x140001ac6
mov dword [r15], 2
jmp 0x140001bcb
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [r14 + 0x410]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jae 0x140001ae5
mov rcx, rbx
jmp 0x140001af8
or rcx, 0xffffffffffffffff
lea rdi, [r14 + 0x410]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8, rcx
lea rcx, [r14 + 0x410]
mov rdx, rbp
call fcn.140003af0
or rcx, 0xffffffffffffffff
test eax, eax
jne 0x140001b22
mov dword [r15], 4
lea rdi, [r14 + 0x410]
jmp 0x140001b74
xor eax, eax
lea rdi, [r14 + 0x30c]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jb 0x140001b4c
or rcx, 0xffffffffffffffff
lea rdi, [r14 + 0x30c]
repne scasb al, byte [rdi]
not rcx
lea rbx, [rcx - 1]
lea rcx, [r14 + 0x30c]
mov r8, rbx
mov rdx, rbp
call fcn.140003af0
test eax, eax
jne 0x140001bc5
mov dword [r15], 3
or rcx, 0xffffffffffffffff
lea rdi, [r14 + 0x30c]
xor eax, eax
repne scasb al, byte [rdi]
not rcx
lea rbx, [rcx + rbp]
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov edi, ecx
mov dword [r15 + 0x10], ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rdi + 4]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r8d, dword [r15 + 0x10]
mov rdx, rbx
add r8, 4
mov rcx, rax
mov qword [r15 + 8], rax
call fcn.140008d00
jmp 0x140001bcb
mov r12d, 0x80070057
mov r13, qword [rsp + 0x68]
test rbp, rbp
je 0x140001be9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, r12d
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret