Function at 0x471ac0
Capabilities:
Check for time delay via gettickcount
Delete file
Link many functions at runtime
Resolve function by parsing pe exports
Write file on windows

Disassembly:
sub esp, 0x460
push ebx
push ebp
push esi
push edi
push str.wininet
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x471e6f
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.InternetOpenW
push ebx
call esi
push str.InternetOpenUrlW
push ebx
mov edi, eax
call esi
push str.InternetCloseHandle
mov ebp, eax
push ebx
mov dword [esp + 0x1c], ebp
call esi
push str.InternetReadFileExA
push ebx
mov dword [esp + 0x20], eax
call esi
push str.InternetReadFile
push ebx
mov dword [esp + 0x28], eax
call esi
mov dword [esp + 0x24], eax
test edi, edi
je 0x471e68
test ebp, ebp
je 0x471e68
cmp dword [esp + 0x18], 0
je 0x471e68
cmp dword [esp + 0x20], 0
je 0x471e68
test eax, eax
je 0x471e68
mov eax, dword [esp + 0x478]
mov ebp, 0x84000000
call fcn.00413050
mov esi, eax
cmp word [esi], 0x2a
jne 0x471b91
add esi, 2
call fcn.00403dd0
mov ebp, eax
mov ebx, 0x4bfcf4
mov eax, esi
call fcn.00405590
test eax, eax
je 0x471b8d
call fcn.00413050
mov esi, eax
mov ebx, dword [esp + 0x10]
push 0
push 0
push 0
push 4
push 0x4bbd60
call edi
mov edi, eax
mov dword [esp + 0x28], edi
test edi, edi
jne 0x471bca
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, dword [esp + 0x474]
call fcn.0044b7c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret 0xc
push 0
push ebp
push 0
push 0
push esi
push edi
call dword [esp + 0x2c]
mov ebx, eax
test ebx, ebx
jne 0x471c06
push edi
call dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, dword [esp + 0x474]
call fcn.0044b7c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret 0xc
mov eax, dword [esp + 0x47c]
push 0x4db45c
push eax
call dword [sym.imp.MSVCR100.dll__wfopen]
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x471c50
mov esi, dword [esp + 0x18]
push ebx
call esi
push edi
call esi
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, dword [esp + 0x474]
call fcn.0044b7c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret 0xc
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov eax, dword fs:[0x24]
lea edx, [esp + 0x70]
mov dword [esp + 0x2c], 0x28
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0x400
mov dword [esp + 0x14], eax
movzx eax, word [esi]
cmp eax, 0x68
je 0x471d5d
cmp eax, 0x48
je 0x471d5d
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
push 0x400
push edx
push ebx
call edi
mov esi, eax
test esi, esi
je 0x471e11
cmp dword [esp + 0x1c], 0
je 0x471e11
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x4eace4]
mov ecx, dword [0x4e4b24]
cmp eax, dword [ecx + 0xd8]
jbe 0x471d26
push 0
push 0
push 0
push 0
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x471d1f
mov eax, dword [esp + 0x14]
cmp dword [0x4ea158], eax
jne 0x471d1f
push 1
push 0xffffffffffffffff
call fcn.00401510
add esp, 8
call esi
mov dword [0x4eace4], eax
mov ecx, dword [esp + 0x1c]
push ebp
push 1
push ecx
lea edx, [esp + 0x7c]
push edx
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
lea eax, [esp + 0x1c]
push eax
push 0x400
lea ecx, [esp + 0x78]
push ecx
push ebx
call edi
mov esi, eax
test esi, esi
jne 0x471cc9
jmp 0x471e11
mov edi, dword [esp + 0x20]
push 0
push 8
lea edx, [esp + 0x34]
push edx
push ebx
call edi
mov esi, eax
test esi, esi
je 0x471e11
jmp 0x471d80
cmp dword [esp + 0x44], 0
je 0x471e11
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x4eace4]
mov ecx, dword [0x4e4b24]
cmp eax, dword [ecx + 0xd8]
jbe 0x471ddd
push 0
push 0
push 0
push 0
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x471dd6
mov eax, dword [esp + 0x14]
cmp dword [0x4ea158], eax
jne 0x471dd6
push 1
push 0xffffffffffffffff
call fcn.00401510
add esp, 8
call esi
mov dword [0x4eace4], eax
mov ecx, dword [esp + 0x44]
push ebp
push 1
push ecx
lea edx, [esp + 0x7c]
push edx
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
push 0
push 8
lea eax, [esp + 0x34]
push eax
push ebx
mov dword [esp + 0x54], 0x400
call edi
mov esi, eax
test esi, esi
jne 0x471d80
push ebx
mov ebx, dword [esp + 0x1c]
call ebx
mov ecx, dword [esp + 0x28]
push ecx
call ebx
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ebp
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
test esi, esi
jne 0x471e48
mov eax, dword [esp + 0x47c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test esi, esi
mov edi, dword [esp + 0x474]
sete cl
movzx edx, cl
push edx
call fcn.00449930
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x4e4b24]
test byte [eax + 0x100], 1
jne 0x471ea1
mov ecx, dword [0x4e86f0]
push 1
push 0
push 0xffffffffffffffff
push 0x4bf81c
push ecx
call fcn.004a2810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret 0xc
mov edi, dword [esp + 0x474]
push 0x4bd2c4
push 0
push 0x4bf81c
call fcn.00449890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret 0xc