Function at 0x7ff7bd451840
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 0x7ff7bd451905
test rbp, rbp
je 0x7ff7bd4518b3
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 0x7ff7bd4518ce
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 0x7ff7bd451996
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 0x7ff7bd451975
add ebx, dword [rsp + 0x20]
cmp dword [rsp + 0x78], r12d
jne 0x7ff7bd451872
test ebx, ebx
je 0x7ff7bd451bd0
mov edx, 0xd
mov rcx, rbp
mov qword [rsp + 0x68], r13
call fcn.7ff7bd4536e8
test rax, rax
je 0x7ff7bd451927
mov byte [rax], r12b
mov edx, 0xa
mov rcx, rbp
call fcn.7ff7bd4536e8
test rax, rax
je 0x7ff7bd45193c
mov byte [rax], r12b
mov edx, 9
mov rcx, rbp
call fcn.7ff7bd4536e8
test rax, rax
je 0x7ff7bd451951
mov byte [rax], r12b
mov edx, 0x20
mov rcx, rbp
call fcn.7ff7bd4536e8
test rax, rax
jne 0x7ff7bd4519a0
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx - 1]
jmp 0x7ff7bd4519af
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
test eax, eax
jle 0x7ff7bd451bd0
movzx r12d, ax
or r12d, 0x80070000
jmp 0x7ff7bd451bd0
mov eax, 0x8007000e
jmp 0x7ff7bd451bec
mov edx, 0x20
mov rcx, rbp
call fcn.7ff7bd4536e8
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 0x7ff7bd4519cf
mov ecx, ebx
jmp 0x7ff7bd4519e2
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.7ff7bd453af0
or rcx, 0xffffffffffffffff
test eax, eax
jne 0x7ff7bd451a76
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.7ff7bd453720
jmp 0x7ff7bd451bcb
xor eax, eax
lea rdi, [r14 + 0x208]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jae 0x7ff7bd451a91
mov rcx, rbx
jmp 0x7ff7bd451aa4
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.7ff7bd453af0
test eax, eax
jne 0x7ff7bd451ac6
mov dword [r15], 2
jmp 0x7ff7bd451bcb
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [r14 + 0x410]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jae 0x7ff7bd451ae5
mov rcx, rbx
jmp 0x7ff7bd451af8
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.7ff7bd453af0
or rcx, 0xffffffffffffffff
test eax, eax
jne 0x7ff7bd451b22
mov dword [r15], 4
lea rdi, [r14 + 0x410]
jmp 0x7ff7bd451b74
xor eax, eax
lea rdi, [r14 + 0x30c]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rbx, rcx
jb 0x7ff7bd451b4c
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.7ff7bd453af0
test eax, eax
jne 0x7ff7bd451bc5
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.7ff7bd458d00
jmp 0x7ff7bd451bcb
mov r12d, 0x80070057
mov r13, qword [rsp + 0x68]
test rbp, rbp
je 0x7ff7bd451be9
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