Function at 0x879dd0
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x720
mov rbp, rsp
mov qword [rbp + 0x6f8], 0
mov qword [rbp + 0x6f0], 0
mov qword [rbp + 0x2d8], 0
mov qword [rbp + 0x2c0], 0
mov qword [rbp + 0x2b8], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x740], rcx
mov qword [rbp + 0x748], rdx
mov qword [rbp + 0x750], r8
mov qword [rbp + 0x758], r9
movzx rax, byte [rbp + 0x760]
mov byte [rbp + 0x760], al
movzx rax, byte [rbp + 0x768]
mov byte [rbp + 0x768], al
mov rax, qword [rbp + 0x770]
mov qword [rbp + 0x770], rax
mov rcx, qword [rbp + 0x748]
call fcn.00412ee0
mov rcx, qword [rbp + 0x750]
call fcn.00412ee0
mov rcx, qword [rbp + 0x758]
call fcn.00412ee0
mov rcx, qword [rbp + 0x770]
call fcn.00412ee0
nop
nop
mov rax, qword [rbp + 0x740]
mov byte [rax + 0x110], 0
mov rcx, qword [rbp + 0x740]
mov rdx, qword [rbp + 0x748]
lea r8, [rbp + 0x6f8]
lea r9, [rbp + 0x6f0]
mov rax, qword [rbp + 0x740]
mov rbx, qword [rax]
call qword [rbx + 0xa8]
cmp qword [rbp + 0x6f8], 0
jne 0x879f0b
mov rcx, qword [rbp + 0x740]
mov rax, qword [rbp + 0x740]
mov rax, qword [rax + 0x80]
mov rdx, qword [rax + 8]
lea r8, [rbp + 0x6f8]
lea r9, [rbp + 0x2c0]
mov rax, qword [rbp + 0x740]
mov rbx, qword [rax]
call qword [rbx + 0xa8]
lea rcx, [rbp + 0x2d8]
lea rdx, [0x0087a4bc]
call fcn.00413430
mov rcx, qword [rbp + 0x2d8]
call fcn.00414500
mov rcx, rax
xor edx, edx
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 0
call sub.wininet.dll_InternetOpenW
mov qword [rbp + 0x700], rax
mov rcx, qword [rbp + 0x6f8]
call fcn.00414500
mov rbx, rax
mov rcx, qword [rbp + 0x750]
call fcn.00414500
mov rsi, rax
mov rcx, qword [rbp + 0x758]
call fcn.00414500
mov rcx, qword [rbp + 0x700]
mov rdx, rbx
mov r8, qword [rbp + 0x740]
movzx r8, word [r8 + 0x158]
mov r9, rsi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call sub.wininet.dll_InternetConnectW
mov qword [rbp + 0x708], rax
lea rax, [0x0087a4d8]
mov qword [rbp + 0x2c8], rax
mov dword [rbp + 0x2d4], 0x80000000
mov rcx, qword [rbp + 0x6f0]
call fcn.00414500
mov rcx, qword [rbp + 0x708]
mov rdx, qword [rbp + 0x2c8]
mov r8, rax
lea r9, [0x0087a4e0]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov eax, dword [rbp + 0x2d4]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], 0
call sub.wininet.dll_HttpOpenRequestW
mov qword [rbp + 0x710], rax
mov rcx, qword [rbp + 0x710]
xor edx, edx
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 0
call sub.wininet.dll_HttpSendRequestW
mov rax, qword [rbp + 0x740]
cmp byte [rax + 0x110], 0
je 0x87a06d
mov rcx, rbp
call fcn.00879d90
mov rax, qword [rbp + 0x740]
mov byte [rax + 0x140], 0
jmp 0x87a3dd
mov dword [rbp + 0x6e8], 0
mov dword [rbp + 0x6ec], 0x400
mov ecx, dword [rbp + 0x6ec]
call fcn.004092d0
mov qword [rbp + 0x718], rax
mov rcx, qword [rbp + 0x710]
mov edx, 5
mov r8, qword [rbp + 0x718]
lea r9, [rbp + 0x6ec]
lea rax, [rbp + 0x6e8]
mov qword [rsp + 0x20], rax
call sub.wininet.dll_HttpQueryInfoW
mov rcx, qword [rbp + 0x740]
test eax, eax
setne al
mov byte [rcx + 0x140], al
mov rax, qword [rbp + 0x740]
cmp byte [rax + 0x110], 0
je 0x87a107
mov rcx, qword [rbp + 0x718]
call fcn.00409300
mov rcx, rbp
call fcn.00879d90
mov rax, qword [rbp + 0x740]
mov byte [rax + 0x140], 0
jmp 0x87a3dd
mov rax, qword [rbp + 0x740]
movzx rax, byte [rax + 0x140]
test al, al
jne 0x87a127
cmp byte [rbp + 0x760], 0
jne 0x87a346
test al, al
je 0x87a144
mov rcx, qword [rbp + 0x718]
call fcn.0043c290
mov rcx, qword [rbp + 0x740]
mov dword [rcx + 0x144], eax
mov rax, qword [rbp + 0x740]
mov dword [rax + 0x14c], 0
cmp byte [rbp + 0x768], 0
je 0x87a188
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x770]
call fcn.0040cbb0
call fcn.00409610
lea rcx, [rbp + 0x50]
mov edx, 1
call fcn.0040e120
call fcn.00409610
jmp 0x87a194
lea rcx, [rbp + 0x2b8]
call fcn.00412d10
mov rax, qword [rbp + 0x740]
cmp byte [rax + 0x110], 0
je 0x87a1e2
cmp byte [rbp + 0x768], 0
je 0x87a1bb
lea rcx, [rbp + 0x50]
call fcn.0040cec0
call fcn.00409610
mov rcx, qword [rbp + 0x718]
call fcn.00409300
mov rcx, rbp
call fcn.00879d90
mov rax, qword [rbp + 0x740]
mov byte [rax + 0x140], 0
jmp 0x87a3dd
mov rcx, qword [rbp + 0x710]
lea rdx, [rbp + 0x2e7]
mov r8d, 0x401
mov rax, qword [rbp + 0x740]
lea r9, [rax + 0x148]
call sub.wininet.dll_InternetReadFile
test eax, eax
je 0x87a2c2
mov rax, qword [rbp + 0x740]
mov eax, dword [rax + 0x148]
test eax, eax
je 0x87a2c2
cmp byte [rbp + 0x768], 0
je 0x87a24c
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x2e7]
mov r8d, eax
xor r9, r9
call fcn.0040ce90
call fcn.00409610
jmp 0x87a291
lea rcx, [rbp + 0x2c0]
lea rdx, [rbp + 0x2e7]
mov r8d, 0x401
call fcn.004145c0
lea rcx, [rbp + 0x2c0]
mov rax, qword [rbp + 0x740]
mov edx, dword [rax + 0x148]
call fcn.00414780
lea rcx, [rbp + 0x2b8]
mov rdx, qword [rbp + 0x2c0]
call fcn.00414860
mov rax, qword [rbp + 0x740]
lea rax, [rax + 0x14c]
mov rcx, qword [rbp + 0x740]
mov ecx, dword [rcx + 0x148]
add dword [rax], ecx
mov rax, qword [0x0091a378]
mov rcx, qword [rax]
call fcn.007397f0
jmp 0x87a194
nop
cmp byte [rbp + 0x768], 0
je 0x87a2f8
mov rax, qword [rbp + 0x740]
mov rcx, qword [rbp + 0x740]
mov rdx, qword [rbp + 0x740]
mov ecx, dword [rcx + 0x144]
cmp ecx, dword [rdx + 0x14c]
sete cl
mov byte [rax + 0x140], cl
jmp 0x87a32f
lea rcx, [rbp + 0x2b8]
mov rax, qword [rbp + 0x740]
mov edx, dword [rax + 0x14c]
call fcn.00414780
mov rax, qword [rbp + 0x740]
mov rcx, qword [rbp + 0x740]
cmp dword [rcx + 0x14c], 0
setne cl
mov byte [rax + 0x140], cl
cmp byte [rbp + 0x768], 0
je 0x87a346
lea rcx, [rbp + 0x50]
call fcn.0040cec0
call fcn.00409610
mov rcx, qword [rbp + 0x718]
call fcn.00409300
mov rcx, rbp
call fcn.00879d90
mov rax, qword [rbp + 0x740]
cmp byte [rax + 0x140], 0
je 0x87a3ad
cmp byte [rbp + 0x768], 0
jne 0x87a3dc
mov rax, qword [rbp + 0x740]
mov rax, qword [rax + 0xb8]
mov rcx, rax
mov rbx, qword [rax]
call qword [rbx + 0x90]
mov rax, qword [rbp + 0x740]
mov rax, qword [rax + 0xb8]
mov rcx, rax
mov rdx, qword [rbp + 0x2b8]
mov rbx, qword [rax]
call qword [rbx + 0x60]
jmp 0x87a3dc
mov rcx, qword [rbp + 0x740]
mov rax, qword [rbp + 0x740]
mov rbx, qword [rax]
call qword [rbx + 0x88]
jmp 0x87a3dc
nop
lea rcx, [rbp + 0x2b8]
mov edx, 2
call fcn.00412df0
lea rcx, [rbp + 0x2d8]
call fcn.00412d10
lea rcx, [rbp + 0x6f0]
mov edx, 2
call fcn.00412df0
lea rcx, [rbp + 0x748]
mov edx, 3
call fcn.00412df0
lea rcx, [rbp + 0x770]
call fcn.00412d10
lea rsp, [rbp + 0x720]
pop rbx
pop rsi
pop rbp
ret