Function at 0x100be080
Capabilities:
Check http status code
Create http request
Download and write a file
Get http content length
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100eb386
mov eax, dword fs:[0]
push eax
mov eax, 0x2070
call fcn.100ddf80
mov eax, dword [0x101a12fc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
sub esp, 0x18
mov dword [ebp - 0x202c], eax
mov esi, esp
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2054], eax
xor edi, edi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2058], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x206c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2068], eax
lea eax, [ebp - 0x2040]
mov dword [ebp - 0x207c], eax
lea eax, [ebp - 0x2054]
mov dword [ebp - 0x2078], eax
lea eax, [ebp - 0x2030]
mov dword [ebp - 0x2074], eax
lea eax, [ebp - 0x2038]
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2030], 0
mov dword [ebp - 0x2040], 0
mov dword [ebp - 0x203c], 0
mov dword [ebp - 0x2070], eax
mov dword [ebp - 0x2048], esi
mov dword [esi + 0x10], ebx
push 0x18
mov dword [ebp - 4], ebx
call fcn.100dd8ae
add esp, 4
test eax, eax
jne 0x100be160
call dword [0x100ef2b0]
movdqu xmm0, xmmword [ebp - 0x207c]
mov dword [eax], vtable.._AV___Func_impl_U___Callable_obj_V_lambda_cc3dfa75a30b78d49d0e9ad5ec813a15____0A__std__V__allocator_V___Func_class_X___V_std___2_X___V_std__.0
lea ecx, [ebp - 0x2028]
mov dword [ebp - 4], 0xffffffff
movdqu xmmword [eax + 4], xmm0
mov dword [esi + 0x10], eax
call fcn.100bde30
push 0
push 0
push 2
push 0
push 0
push 0x40000080
push dword [ebp - 0x2054]
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x2040], eax
cmp eax, 0xffffffff
jne 0x100be1bf
mov esi, 1
jmp 0x100be43e
push 0
push 0
push 0
push 0
push dword [ebp - 0x2058]
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x2038], eax
test eax, eax
jne 0x100be1f3
push dword [ebp - 0x2040]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 2
jmp 0x100be43e
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionA]
lea ecx, [ebp + 0x14]
push 4
push ecx
push 6
push eax
call esi
push 4
lea eax, [ebp - 0x2064]
mov dword [ebp - 0x2064], 1
push eax
push 0x41
push dword [ebp - 0x2038]
call esi
test eax, eax
je 0x100be22f
mov edi, str.Accept_Encoding:_gzip_r_n
mov ebx, 0x17
push 8
push str.https:__
push dword [ebp - 0x202c]
mov esi, 0x80000000
call dword [0x100ef4cc]
add esp, 0xc
mov ecx, 0x80800000
test eax, eax
cmove esi, ecx
push 0
push esi
push ebx
push edi
push dword [ebp - 0x202c]
push dword [ebp - 0x2038]
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x2030], eax
test eax, eax
jne 0x100be27d
lea esi, [eax + 3]
jmp 0x100be43e
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
lea ecx, [ebp - 0x203c]
push 0
push ecx
lea ecx, [ebp - 0x2050]
mov dword [ebp - 0x203c], 4
push ecx
push 0x20000013
push eax
call esi
test eax, eax
je 0x100be2c7
mov eax, dword [ebp - 0x2050]
cmp eax, 0xc8
je 0x100be2c7
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, 4
jmp 0x100be43e
push 0
lea eax, [ebp - 0x203c]
mov dword [ebp - 0x203c], 8
push eax
lea eax, [ebp - 0x2060]
xorps xmm0, xmm0
push eax
push 0x20000005
push dword [ebp - 0x2030]
movlpd qword [ebp - 0x2060], xmm0
call esi
mov eax, dword [ebp - 0x2060]
xorps xmm0, xmm0
mov ebx, dword [ebp - 0x205c]
mov dword [ebp - 0x202c], eax
lea eax, [ebp - 0x2034]
push eax
push 0x2000
lea eax, [ebp - 0x2010]
mov dword [ebp - 0x2034], 0
push eax
push dword [ebp - 0x2030]
mov dword [ebp - 0x2044], 0
movlpd qword [ebp - 0x204c], xmm0
call dword [sym.imp.WININET.dll_InternetReadFile]
mov esi, dword [ebp - 0x2048]
mov edi, dword [ebp - 0x204c]
test eax, eax
je 0x100be3fa
lea ecx, [ecx]
mov eax, dword [ebp - 0x2034]
add edi, eax
adc esi, 0
test eax, eax
jne 0x100be37b
mov ecx, edi
mov ebx, esi
mov dword [ebp - 0x202c], ecx
jmp 0x100be381
mov ecx, dword [ebp - 0x202c]
mov edx, dword [ebp - 0x206c]
test edx, edx
je 0x100be3a4
push ebx
push ecx
push esi
push edi
push dword [ebp - 0x2068]
call edx
add esp, 0x14
test al, al
je 0x100be41c
mov eax, dword [ebp - 0x2034]
test eax, eax
je 0x100be3fa
push 0
lea ecx, [ebp - 0x2044]
push ecx
push eax
lea eax, [ebp - 0x2010]
push eax
push dword [ebp - 0x2040]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x2044]
cmp eax, dword [ebp - 0x2034]
jne 0x100be42e
lea eax, [ebp - 0x2034]
push eax
push 0x2000
lea eax, [ebp - 0x2010]
push eax
push dword [ebp - 0x2030]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x100be360
mov eax, dword [ebp - 0x202c]
test ebx, ebx
jne 0x100be408
test eax, eax
je 0x100be410
cmp edi, eax
jne 0x100be42e
cmp esi, ebx
jne 0x100be42e
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
jmp 0x100be43e
push 0x3e3
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, 5
jmp 0x100be43e
push 0x3e4
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, 6
lea ecx, [ebp - 0x2028]
mov dword [ebp - 4], 0xffffffff
call fcn.100bdef0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100dd9b4
mov esp, ebp
pop ebp
ret