Function at 0x81b0e0
Capabilities:
Check for time delay via gettickcount
Check http status code
Get http content length
Read data from internet
Receive data

Disassembly:
push rbp
push r13
push rdi
push rsi
push rbx
mov byte [rsp - 0x450], 0
mov byte [rsp - 0x1450], 0
mov byte [rsp - 0x2450], 0
sub rsp, 0x2450
mov rbp, rsp
mov qword [rbp + 0x58], rcx
mov dword [rbp + 0x60], edx
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x178], 0
mov qword [rbp + 0x1d8], 0
mov qword [rbp + 0x1d0], 0
mov qword [rbp + 0x1c8], 0
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x188], 0
mov qword [rbp + 0x180], 0
mov qword [rbp + 0x2490], r8
mov qword [rbp + 0x2498], r9
mov rax, qword [rbp + 0x24a0]
mov qword [rbp + 0x24a0], rax
mov rax, qword [rbp + 0x24a8]
mov qword [rbp + 0x24a8], rax
mov rax, qword [rbp + 0x24d0]
mov qword [rbp + 0x24d0], rax
mov rax, qword [rbp + 0x24d8]
mov qword [rbp + 0x24d8], rax
mov rcx, qword [rbp + 0x2490]
call fcn.00412ee0
mov rcx, qword [rbp + 0x2498]
call fcn.00412ee0
mov rcx, qword [rbp + 0x24a0]
call fcn.00412ee0
mov rcx, qword [rbp + 0x24a8]
call fcn.00412ee0
mov rcx, qword [rbp + 0x24d0]
call fcn.00412ee0
mov rcx, qword [rbp + 0x24d8]
call fcn.00412ee0
nop
xor eax, eax
mov byte [rbp + 0x67], al
mov rax, qword [rbp + 0x24c0]
mov byte [rax], 0
lea rcx, [rbp + 0x1c8]
mov rdx, qword [rbp + 0x2490]
call fcn.00413430
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0x2490]
call fcn.008188c0
mov rcx, qword [rbp + 0x58]
lea rdx, [rbp + 0x178]
mov r8, qword [rbp + 0x2490]
call fcn.00819560
lea rcx, [rbp + 0x2490]
mov rdx, qword [rbp + 0x178]
call fcn.00413430
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x150]
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x10], 1
jle 0x81b478
lea rcx, [rbp + 0x168]
mov rax, qword [rbp + 0x58]
mov edx, dword [rax + 0x7c]
call fcn.0043bfe0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
call fcn.0082e5c0
lea rcx, [rbp + 0x160]
mov edx, eax
call fcn.0043bfe0
lea rcx, [rbp + 0x170]
mov edx, 6
mov r8, qword [rbp + 0x168]
lea r9, [0x0081c4ac]
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x228]
mov qword [rsp + 0x20], rax
lea rax, [0x0081c4ac]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x160]
mov qword [rsp + 0x30], rax
lea rax, [0x0081c4bc]
mov qword [rsp + 0x38], rax
call fcn.00414a50
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xa0]
mov rdx, qword [rbp + 0x170]
call fcn.00602260
jmp 0x81b48a
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xa0]
xor edx, edx
call fcn.00602260
cmp qword [rbp + 0x2498], 0
je 0x81b4a9
lea rcx, [rbp + 0x1d8]
mov rdx, qword [rbp + 0x2498]
call fcn.00413430
jmp 0x81b4bc
lea rcx, [rbp + 0x1d8]
mov rdx, qword [rbp + 0x1d0]
call fcn.00413430
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0x247], 0
je 0x81b57e
mov rax, qword [rbp + 0x58]
mov rbx, qword [rax + 0xa0]
mov rcx, rbx
lea rdx, [rbp + 0x150]
call fcn.006021f0
mov rcx, qword [rbp + 0x58]
lea rdx, [rbp + 0x148]
mov r8, qword [rbp + 0x2490]
call fcn.00819700
lea rcx, [rbp + 0x158]
mov edx, 8
mov rax, qword [rbp + 0x58]
mov r8, qword [rax + 0x108]
lea r9, [0x0081c4ac]
mov rax, qword [rbp + 0x150]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rsp + 0x28], rax
lea rax, [0x0081c4ac]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x230]
mov qword [rsp + 0x38], rax
lea rax, [0x0081c4ac]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x148]
mov qword [rsp + 0x48], rax
call fcn.00414a50
mov rcx, rbx
mov rdx, qword [rbp + 0x158]
call fcn.00602260
jmp 0x81b5e2
mov rax, qword [rbp + 0x58]
mov rbx, qword [rax + 0xa0]
mov rcx, rbx
lea rdx, [rbp + 0x138]
call fcn.006021f0
lea rcx, [rbp + 0x140]
mov edx, 4
mov rax, qword [rbp + 0x58]
mov r8, qword [rax + 0x108]
lea r9, [0x0081c4ac]
mov rax, qword [rbp + 0x138]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
mov rcx, rbx
mov rdx, qword [rbp + 0x140]
call fcn.00602260
mov rax, qword [0x0091a378]
mov rcx, qword [rax]
call fcn.007397f0
mov ebx, 0x84000000
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0x2b1], 0
je 0x81b609
or ebx, 0x400000
cmp byte [rbp + 0x24c8], 1
jne 0x81b6c9
cmp qword [rbp + 0x24d0], 0
je 0x81b62e
cmp qword [rbp + 0x24d8], 0
jne 0x81b6c9
lea rcx, [rbp + 0x190]
mov rdx, qword [rbp + 0x24d0]
call fcn.00413430
lea rcx, [rbp + 0x188]
mov rdx, qword [rbp + 0x24d8]
call fcn.00413430
lea rcx, [rbp + 0x128]
mov rdx, qword [rbp + 0x2490]
call fcn.0081ad60
lea rcx, [rbp + 0x130]
lea rdx, [0x0081c4d0]
mov r8, qword [rbp + 0x128]
call fcn.00414920
mov rcx, qword [rbp + 0x130]
lea rdx, [rbp + 0x190]
lea r8, [rbp + 0x188]
call fcn.00813a50
test al, al
je 0x81c369
lea rcx, [rbp + 0x24d0]
mov rdx, qword [rbp + 0x190]
call fcn.00413430
lea rcx, [rbp + 0x24d8]
mov rdx, qword [rbp + 0x188]
call fcn.00413430
cmp qword [rbp + 0x24d0], 0
jne 0x81b6dd
cmp qword [rbp + 0x24d8], 0
je 0x81b748
lea rcx, [rbp + 0x118]
mov edx, 3
mov r8, qword [rbp + 0x24d0]
lea r9, [0x0081c52c]
mov rax, qword [rbp + 0x24d8]
mov qword [rsp + 0x20], rax
call fcn.00414a50
lea rcx, [rbp + 0x120]
mov rdx, qword [rbp + 0x118]
call fcn.00813260
lea rcx, [rbp + 0x180]
mov edx, 3
lea r8, [0x0081c4f4]
mov r9, qword [rbp + 0x120]
lea rax, [0x0081c53c]
mov qword [rsp + 0x20], rax
call fcn.00414a50
jmp 0x81b754
lea rcx, [rbp + 0x180]
call fcn.00412d10
xor esi, esi
mov rax, qword [rbp + 0x180]
test rax, rax
je 0x81b765
mov esi, dword [rax - 4]
mov rcx, qword [rbp + 0x2490]
call fcn.00414500
mov rdi, rax
mov rcx, qword [rbp + 0x180]
call fcn.00414500
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx + 0x158]
mov rdx, rdi
mov r8, rax
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x28], 0
call sub.wininet.dll_InternetOpenUrlW
mov rsi, rax
mov dword [rbp + 0x1bc], 4
mov dword [rbp + 0x1b8], 0
mov rax, qword [0x0091a378]
mov rcx, qword [rax]
call fcn.007397f0
test rsi, rsi
je 0x81b98e
mov rcx, rsi
mov edx, 0x20000013
lea r8, [rbp + 0x1b4]
lea r9, [rbp + 0x1bc]
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
call sub.wininet.dll_HttpQueryInfoW
cmp dword [rbp + 0x1b4], 0x191
jne 0x81b8de
movzx rcx, byte [rbp + 0x24c8]
cmp cl, 7
ja 0x81b82c
mov al, 1
shl eax, cl
movzx rcx, byte [0x0081c546]
test al, cl
setne al
jmp 0x81b82e
xor eax, eax
test al, al
je 0x81b8de
lea rcx, [rbp + 0x190]
mov rdx, qword [rbp + 0x24d0]
call fcn.00413430
lea rcx, [rbp + 0x188]
mov rdx, qword [rbp + 0x24d8]
call fcn.00413430
lea rcx, [rbp + 0x108]
mov rdx, qword [rbp + 0x2490]
call fcn.0081ad60
lea rcx, [rbp + 0x110]
lea rdx, [0x0081c4d0]
mov r8, qword [rbp + 0x108]
call fcn.00414920
mov rcx, qword [rbp + 0x110]
lea rdx, [rbp + 0x190]
lea r8, [rbp + 0x188]
call fcn.00813a50
test al, al
je 0x81c369
lea rcx, [rbp + 0x24d0]
mov rdx, qword [rbp + 0x190]
call fcn.00413430
lea rcx, [rbp + 0x24d8]
mov rdx, qword [rbp + 0x188]
call fcn.00413430
mov rcx, rsi
call sub.wininet.dll_InternetCloseHandle
jmp 0x81b6c9
cmp dword [rbp + 0x1b4], 0x12c
jb 0x81b98e
mov rcx, rsi
call sub.wininet.dll_InternetCloseHandle
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x160], 0
je 0x81b924
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x168]
mov rdx, qword [rbp + 0x58]
mov r8d, dword [rbp + 0x1b4]
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x160]
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x170], 0
je 0x81c369
lea rcx, [rbp + 0xf8]
mov edx, dword [rbp + 0x1b4]
call fcn.0043c020
lea rcx, [rbp + 0x100]
lea rdx, [0x0081c554]
mov r8, qword [rbp + 0xf8]
call fcn.00414920
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x178]
mov rdx, qword [rbp + 0x58]
mov r8d, dword [rbp + 0x1b4]
mov r9, qword [rbp + 0x100]
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x170]
jmp 0x81c369
test rsi, rsi
jne 0x81b9ca
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x1c0], 0
je 0x81c369
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x1c8]
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x2490]
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x1c0]
jmp 0x81c369
cmp byte [rbp + 0x24b0], 0
jne 0x81b9e5
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x2b8], 0
je 0x81bb3d
mov dword [rbp + 0x1bc], 0x10
mov dword [rbp + 0x1b8], 0
mov rcx, rsi
mov edx, 0x4000000b
lea r8, [rbp + 0x1a2]
lea r9, [rbp + 0x1bc]
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
call sub.wininet.dll_HttpQueryInfoW
lea rcx, [rbp + 0x1a2]
lea rdx, [rbp + 0x198]
call fcn.00818840
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x2b8], 0
je 0x81baa4
mov byte [rbp + 0x1b3], 1
mov rax, qword [rbp + 0x24b8]
mov rcx, qword [rbp + 0x198]
mov qword [rax], rcx
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x2c0]
mov rdx, qword [rbp + 0x58]
mov r8d, dword [rbp + 0x60]
movsd xmm3, qword [rbp + 0x198]
lea rax, [rbp + 0x1b3]
mov qword [rsp + 0x20], rax
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x2b8]
cmp byte [rbp + 0x1b3], 0
jne 0x81bb2c
mov rcx, rsi
call sub.wininet.dll_InternetCloseHandle
jmp 0x81c369
mov rax, qword [rbp + 0x24b8]
movsd xmm0, qword [rax]
ucomisd xmm0, qword [rbp + 0x198]
jb 0x81bb2c
mov rax, qword [rbp + 0x24c0]
mov byte [rax], 1
mov rax, qword [rbp + 0x24b8]
mov rcx, qword [rbp + 0x198]
mov qword [rax], rcx
mov rcx, rsi
call sub.wininet.dll_InternetCloseHandle
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x268], 0
je 0x81c369
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x270]
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x24b8]
movsd xmm3, qword [rax]
movsd xmm0, qword [rbp + 0x198]
movsd qword [rsp + 0x20], xmm0
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x268]
jmp 0x81c369
mov rax, qword [rbp + 0x24b8]
mov rcx, qword [rbp + 0x198]
mov qword [rax], rcx
cmp qword [rbp + 0x24a8], 0
je 0x81bb5f
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0x24a8]
call fcn.00413430
jmp 0x81bc13
mov dword [rbp + 0x44c], 0x1000
mov rcx, rsi
mov edx, 0x22
lea r8, [rbp + 0x450]
lea r9, [rbp + 0x44c]
call sub.wininet.dll_InternetQueryOptionW
lea rcx, [rbp + 0x1c0]
lea rdx, [rbp + 0x450]
call fcn.0043ded0
cmp qword [rbp + 0x1c0], 0
je 0x81bbcd
mov rcx, qword [rbp + 0x1c0]
mov rdx, qword [rbp + 0x2490]
call fcn.00414b20
test eax, eax
je 0x81bbcd
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1c0]
call fcn.008188c0
jmp 0x81bbe0
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0x2490]
call fcn.008188c0
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0x311], 0
je 0x81bc13
lea rcx, [rbp + 0xf0]
mov rdx, qword [rbp + 0x1d0]
call fcn.008184e0
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0xf0]
call fcn.00413430
lea rcx, [rbp + 0xe8]
mov rdx, qword [rbp + 0x24a0]
mov r8, qword [rbp + 0x1d0]
call fcn.00819160
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0xe8]
call fcn.00413430
mov rax, qword [rbp + 0x58]
lea rcx, [rax + 0xe8]
mov rdx, qword [rbp + 0x1d0]
call fcn.004133a0
mov rax, qword [rbp + 0x58]
lea rcx, [rax + 0xf0]
mov rdx, qword [rbp + 0x24a0]
call fcn.004133a0
mov rcx, qword [rbp + 0x1d0]
mov dl, 1
call fcn.0043cfb0
test al, al
je 0x81bd09
mov byte [rbp + 0x1b3], 1
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x1e0], 0
je 0x81bcc0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x1e8]
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x1d0]
lea r9, [rbp + 0x1b3]
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x1e0]
cmp byte [rbp + 0x1b3], 0
jne 0x81bcd6
mov rcx, rsi
call sub.wininet.dll_InternetCloseHandle
jmp 0x81c369
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0x310], 0
je 0x81bd09
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0x1d0]
call fcn.0081afb0
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0xe0]
call fcn.00413430
lea rcx, [rbp + 0xd8]
mov rdx, qword [rbp + 0x1d0]
call fcn.0043d590
mov rcx, qword [rbp + 0xd8]
add byte [rax], al
add al, ch
sub dh, dl
invalid
dec dword [rax - 0x73]
invalid
loopne 0x81bd2e
add byte [rax], al
mov rdx, qword [rbp + 0x1d0]
call fcn.0040cbb0
call fcn.00409610
lea rcx, [rbp + 0x1e0]
mov edx, 1
call fcn.0040e120
call fcn.004097d0
test eax, eax
je 0x81bdea
mov rcx, rsi
call sub.wininet.dll_InternetCloseHandle
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x160], 0
je 0x81bd93
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x168]
mov rdx, qword [rbp + 0x58]
mov r8d, 3
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x160]
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x170], 0
je 0x81c369
lea rcx, [rbp + 0xd0]
lea rdx, [0x0081c594]
mov r8, qword [rbp + 0x1d0]
call fcn.00414920
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x178]
mov rdx, qword [rbp + 0x58]
mov r8d, 3
mov r9, qword [rbp + 0xd0]
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x170]
jmp 0x81c369
mov dword [rbp + 0x44c], 0x1000
mov dword [rbp + 0x1b4], 0
mov dword [rbp + 0x1bc], 4
mov dword [rbp + 0x1b8], 0
mov rcx, rsi
mov edx, 0x20000005
lea r8, [rbp + 0x1b4]
lea r9, [rbp + 0x1bc]
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
call sub.wininet.dll_HttpQueryInfoW
cmp dword [rbp + 0x1b4], 0
jne 0x81be7d
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
cmp dword [rax + 0x90], 0
jbe 0x81be7d
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x1b4], eax
xor ebx, ebx
call sub.kernel32.dll_GetTickCount
mov edi, eax
mov dword [rbp + 0x44c], 0x1000
cmp dword [rbp + 0x1b4], 0
jbe 0x81beb0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x98]
xor edx, edx
call fcn.00665d70
jmp 0x81c31b
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x98]
mov dl, 1
call fcn.00665d70
jmp 0x81c31b