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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1080
call fcn.1000f37e0
sub rsp, rax
mov rax, qword [0x10010f190]
xor rax, rsp
mov qword [rsp + 0x1070], rax
mov r10, qword [0x10011bcc0]
xor ebx, ebx
mov rdi, r8
mov r15, rdx
mov r14, rcx
mov qword [rsp + 0x58], rbx
mov r13, rbx
mov qword [rsp + 0x60], rbx
mov rbp, rbx
cmp r10, rbx
je 0x10003a87e
cmp rcx, rbx
jne 0x10003a757
mov eax, dword [0x10011bd00]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
neg eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rbx
sbb r8d, r8d
lea edx, [rbx + 5]
mov rcx, r15
and r8d, 2
xor r9d, r9d
mov qword [rsp + 0x28], rbx
add r8d, 2
mov qword [rsp + 0x20], rax
or r8d, 1
call r10
cmp eax, ebx
jne 0x10003a708
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
mov edx, 0x15f0140
mov rcx, r15
mov r9d, eax
jmp 0x10003a874
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov r12d, 0xffffffff
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
xor r8d, r8d
xor edx, edx
mov r9d, r12d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call fcn.10007413c
mov ebx, eax
test eax, eax
je 0x10003aa26
xor r9d, r9d
mov edx, 0x16c0140
xor ecx, ecx
jmp 0x10003a876
lea rdx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x50], ebx
call qword [sym.imp.WININET.dll_InternetQueryDataAvailable]
cmp eax, ebx
jne 0x10003a78e
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
xor r9d, r9d
mov edx, 0x1780140
mov r8d, eax
xor ecx, ecx
call fcn.1000b51b8
lea r9, [rsp + 0x54]
lea rdx, [rsp + 0x70]
mov r8d, 0x1000
mov rcx, r14
mov dword [rsp + 0x50], ebx
call qword [sym.imp.WININET.dll_InternetReadFile]
cmp eax, ebx
je 0x10003a85e
mov r12d, 0xffffffff
mov esi, dword [rsp + 0x54]
cmp esi, ebx
je 0x10003a900
mov rax, rsi
shl rax, 4
cmp rax, r12
jbe 0x10003a7d9
mov eax, r12d
mov ebx, 0x80070216
test ebx, ebx
je 0x10003a7e4
mov edx, 0x12b0140
jmp 0x10003a800
mov edx, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
jne 0x10003a80f
mov ebx, 0x8007000e
mov edx, 0x1310140
xor r9d, r9d
mov r8d, ebx
xor ecx, ecx
call fcn.1000b51b8
jmp 0x10003a82b
lea rcx, [rax + 0xc]
lea rdx, [rsp + 0x70]
mov r8, rsi
mov qword [rax], rbp
mov dword [rax + 8], esi
call sub.msvcrt.dll_memcpy
mov rbp, rbx
xor ebx, ebx
test ebx, ebx
jne 0x10003a8f1
mov eax, dword [rsp + 0x54]
lea r9, [rsp + 0x54]
lea rdx, [rsp + 0x70]
add dword [rsp + 0x50], eax
mov r8d, 0x1000
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
xor ebx, ebx
cmp eax, ebx
jne 0x10003a7b9
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
xor r9d, r9d
xor ecx, ecx
mov edx, 0x1830140
mov ebx, eax
mov r8d, eax
call fcn.1000b51b8
mov rcx, qword [rsp + 0x58]
xor eax, eax
cmp rcx, rax
je 0x10003a895
lea edx, [rax + 2]
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
xor eax, eax
cmp rbp, rax
je 0x10003a8b6
xor r13d, r13d
mov rcx, rbp
mov rbp, qword [rbp]
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp rbp, r13
jne 0x10003a89d
mov r13, qword [rsp + 0x60]
xor eax, eax
cmp r13, rax
je 0x10003a8c4
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebx
mov rcx, qword [rsp + 0x1070]
xor rcx, rsp
call fcn.1000ef870
mov rbx, qword [rsp + 0x10d8]
add rsp, 0x1080
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x18a0140
xor r9d, r9d
xor ecx, ecx
jmp 0x10003aa1e
mov edx, dword [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r13, rax
mov qword [rsp + 0x60], rax
cmp rax, rbx
jne 0x10003a925
mov ebx, 0x8007000e
mov edx, 0x1930140
jmp 0x10003a8f6
mov ebx, dword [rsp + 0x50]
xor r14d, r14d
mov rsi, rbp
add rbx, rax
cmp rbp, r14
je 0x10003a952
mov r8d, dword [rsi + 8]
lea rdx, [rsi + 0xc]
sub rbx, r8
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsi]
cmp rsi, r14
jne 0x10003a937
mov eax, dword [0x10011bd20]
xor ebx, ebx
cmp rdi, rbx
je 0x10003a96b
cmp dword [0x10011bd04], ebx
jne 0x10003a96b
cmp eax, ebx
je 0x10003a9b6
cmp eax, ebx
je 0x10003a971
inc eax
mov r9d, dword [rsp + 0x50]
mov r8, r13
mov edx, eax
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r12d
call fcn.10004df1c
cmp eax, ebx
je 0x10003a9b0
xor r9d, r9d
mov r8d, eax
mov edx, 0x1a40140
xor ecx, ecx
call fcn.1000b51b8
mov r8d, dword [rsp + 0x50]
mov rdx, r13
xor ecx, ecx
call fcn.1000afa70
mov eax, dword [0x10011bd20]
cmp rdi, rbx
jne 0x10003a9e7
cmp eax, ebx
je 0x10003a87e
mov edx, 0x2f
mov rcx, r15
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov rdi, rax
cmp rax, rbx
je 0x10003a87e
add rdi, 2
je 0x10003a87e
cmp bx, word [rdi]
je 0x10003a87e
mov r9d, dword [0x10011ac04]
mov r8d, dword [rsp + 0x50]
mov rdx, r13
or r9d, 2
mov rcx, rdi
call sub.certcli.dll_Ordinal_225
mov ebx, eax
xor eax, eax
cmp ebx, eax
je 0x10003aa26
xor r9d, r9d
mov edx, 0x1ba0140
mov rcx, rdi
mov r8d, ebx
jmp 0x10003a879
xor ebx, ebx
jmp 0x10003a87e