Function at 0x1800042c0
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request
Send http request with host header

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
mov rbx, r9
mov rsi, r8
xor ebp, ebp
mov qword [rsp + 0x50], rbp
mov r13, rbp
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + 1]
xor ecx, ecx
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r10, rax
mov qword [rsp + 0x70], rax
or r15, 0xffffffffffffffff
test rax, rax
je 0x180004872
test rbx, rbx
je 0x180004391
xor eax, eax
mov rcx, r15
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x180004391
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rbp
xor r9d, r9d
movzx r8d, word [rsp + 0xd0]
mov rdx, rbx
mov rcx, r10
call qword [sym.imp.WININET.dll_InternetConnectW]
mov r12, rax
mov qword [rsp + 0x50], rax
jmp 0x1800043c7
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rbp
xor r9d, r9d
movzx r8d, word [rsp + 0xd0]
mov rdx, rsi
mov rcx, r10
call qword [sym.imp.WININET.dll_InternetConnectW]
mov r12, rax
mov qword [rsp + 0x50], rax
test r12, r12
je 0x180004872
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], 0x4283000
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
xor r9d, r9d
mov r8, qword [rsp + 0xd8]
lea rdx, [0x180025638]
mov rcx, r12
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov r13, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x180004872
mov dword [rsp + 0x58], 1
mov r9d, 4
lea r8, [rsp + 0x58]
lea edx, [r9 + 0x3d]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetSetOptionA]
mov dword [rsp + 0x5c], 4
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x4c]
mov edx, 0x1f
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [rsp + 0x4c], 0x3380
mov r9d, 4
lea r8, [rsp + 0x4c]
lea edx, [r9 + 0x1b]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetSetOptionW]
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov r12, qword [rsp + 0xe0]
mov rax, qword [r12 + 0x30]
mov rbx, qword [rax]
mov rsi, qword [r12]
mov rdi, qword [r12 + 0x30]
test rsi, rsi
je 0x1800044b1
cmp rsi, qword [r12]
je 0x1800044b6
call fcn.180014258
cmp rbx, rdi
je 0x18000460b
test rsi, rsi
jne 0x1800044ce
call fcn.180014258
mov rdx, rbp
jmp 0x1800044d1
mov rdx, qword [rsi]
cmp rbx, qword [rdx + 0x30]
jne 0x1800044dc
call fcn.180014258
lea rdx, str.host
mov rcx, qword [rbx + 0x18]
call fcn.18001400c
test eax, eax
je 0x1800045a0
test rsi, rsi
jne 0x180004503
call fcn.180014258
mov rdx, rbp
jmp 0x180004506
mov rdx, qword [rsi]
cmp rbx, qword [rdx + 0x30]
jne 0x180004511
call fcn.180014258
mov rdx, qword [rbx + 0x18]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.180004900
xor eax, eax
mov rcx, r15
lea rdi, [0x18002566c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x18002566c]
lea rcx, [rsp + 0x40]
call fcn.180004900
test rsi, rsi
jne 0x180004559
call fcn.180014258
mov rdx, rbp
jmp 0x18000455c
mov rdx, qword [rsi]
cmp rbx, qword [rdx + 0x30]
jne 0x180004567
call fcn.180014258
mov rdx, qword [rbx + 0x20]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.180004900
xor eax, eax
mov rcx, r15
lea rdi, [0x180025670]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x180025670]
lea rcx, [rsp + 0x40]
call fcn.180004900
test rsi, rsi
jne 0x1800045aa
call fcn.180014258
cmp byte [rbx + 0x29], 0
je 0x1800045ba
call fcn.180014258
jmp 0x1800044a1
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x29], 0
jne 0x1800045e5
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
jne 0x1800044a1
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
je 0x1800045d4
jmp 0x1800044a1
mov rax, qword [rbx + 8]
cmp byte [rax + 0x29], 0
jne 0x180004603
nop
cmp rbx, qword [rax + 0x10]
jne 0x180004603
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x29], 0
je 0x1800045f0
mov rbx, rax
jmp 0x1800044a1
xor eax, eax
mov rcx, r15
lea r12, str.Host:
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rsi, r12
mov rdi, qword [rsp + 0x40]
sub rsi, rdi
sar rsi, 1
mov r13d, dword [rdi - 0x10]
mov eax, ebp
test ecx, ecx
setns al
test eax, eax
jne 0x18000464b
mov ecx, 0x80070057
call fcn.1800019b0
int3
movsxd rdx, ecx
mov rcx, r12
call fcn.180014308
mov r14, rax
mov eax, 0x7fffffff
sub eax, r14d
mov ecx, ebp
cmp eax, r13d
setge cl
test ecx, ecx
jne 0x180004678
mov ecx, 0x80070057
call fcn.1800019b0
int3
lea ebx, [r13 + r14]
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x18000469f
mov edx, ebx
lea rcx, [rsp + 0x40]
call fcn.180001770
mov rdi, qword [rsp + 0x40]
cmp rsi, r13
ja 0x1800046a8
lea r12, [rdi + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rdi + r13*2]
mov r9, rdx
mov r8, r12
call fcn.1800137dc
test ebx, ebx
js 0x180004867
cmp ebx, dword [rdi - 0xc]
jg 0x180004867
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], bp
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
jne 0x1800046e9
mov ecx, ebp
jmp 0x1800046fa
xor eax, eax
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
lea rcx, [rsp + 0x40]
call fcn.180004900
mov rdi, qword [rsp + 0x40]
mov ebx, dword [rdi - 0x10]
cmp dword [rdi - 8], 1
jle 0x180004726
mov edx, ebx
lea rcx, [rsp + 0x40]
call fcn.1800017d0
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0x20], ebp
xor r9d, r9d
mov r8d, ebx
mov rdx, rdi
mov r13, qword [rsp + 0x60]
mov rcx, r13
call qword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x180004770
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180004872
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x180004872
mov dword [rsp + 0x48], ebp
mov ecx, 0xa000
call fcn.1800135c8
mov r12, rax
test rax, rax
jne 0x1800047aa
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180004872
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x180004872
lea r9, [rsp + 0x48]
mov r8d, 0xa000
mov rdx, rax
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x18000483d
mov rbx, qword [rsp + 0xf8]
nop dword [rax]
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x18000483d
mov rsi, rax
test eax, eax
je 0x180004822
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1800047f4
mov rcx, rax
call fcn.180013650
mov qword [rbx], rax
jmp 0x180004804
mov rax, qword [rbx + 8]
lea rdx, [rsi + rax]
call fcn.180013708
mov qword [rbx], rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x180004822
add rcx, qword [rbx + 8]
mov r9, rsi
mov r8, r12
mov rdx, rsi
call fcn.1800137dc
add qword [rbx + 8], rsi
lea r9, [rsp + 0x48]
mov r8d, 0xa000
mov rdx, r12
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x1800047d0
mov rcx, r12
call fcn.1800135d0
mov ebp, 1
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000488e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x18000488e
mov ecx, 0x80070057
call fcn.1800019b0
nop
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rdi]
test rcx, rcx
je 0x18000488a
call fcn.180013610
mov qword [rdi], rbp
mov qword [rdi + 8], rbp
test r13, r13
je 0x18000489c
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1800048ac
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1800048bd
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
dec r15d
test r15d, r15d
jg 0x1800048dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, ebp
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret