Function at 0x450440
Capabilities:
Check for time delay via gettickcount
Delete file
Link many functions at runtime
Write file on windows

Disassembly:
sub esp, 0x464
push ebx
push ebp
push esi
push edi
mov ebx, ecx
push str.wininet
mov dword [esp + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
mov dword [esp + 0x28], ebp
test ebp, ebp
jne 0x45049d
mov eax, dword [0x4ac1d8]
test byte [eax + 0xe0], 1
jne 0x450496
mov ecx, dword [0x4af094]
push 1
push 0
push 0xffffffffffffffff
push 0x4a09f8
call fcn.004759c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
mov ecx, ebx
jmp 0x4507ee
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.InternetOpenA
push ebp
call esi
push str.InternetOpenUrlA
mov ebx, eax
push ebp
mov dword [esp + 0x1c], ebx
call esi
push str.InternetCloseHandle
push ebp
mov edi, eax
call esi
push str.InternetReadFileExA
push ebp
mov dword [esp + 0x24], eax
call esi
push str.InternetReadFile
push ebp
mov dword [esp + 0x18], eax
call esi
mov dword [esp + 0x24], eax
test ebx, ebx
je 0x4507d1
test edi, edi
je 0x4507d1
cmp dword [esp + 0x1c], 0
je 0x4507d1
cmp dword [esp + 0x10], 0
je 0x4507d1
test eax, eax
je 0x4507d1
mov esi, dword [esp + 0x478]
mov ebx, 0x84000000
lea esp, [esp]
mov al, byte [esi]
cmp al, 0x20
je 0x45052a
cmp al, 9
jne 0x45052d
inc esi
jmp 0x450520
cmp byte [esi], 0x2a
jne 0x45055d
inc esi
mov ecx, esi
call fcn.00414540
mov edx, 0x4a0c84
mov ecx, esi
mov ebx, eax
call fcn.0040a9c0
test eax, eax
je 0x45055d
mov esi, eax
mov edi, edi
mov al, byte [esi]
cmp al, 0x20
je 0x45055a
cmp al, 9
jne 0x45055d
inc esi
jmp 0x450550
push 0
push 0
push 0
push 4
push str.AutoHotkey
call dword [esp + 0x28]
mov dword [esp + 0x20], eax
test eax, eax
je 0x45058f
push 0
push ebx
push 0
push 0
push esi
push eax
call edi
mov ebx, eax
test ebx, ebx
jne 0x4505ac
push dword [esp + 0x20]
call dword [esp + 0x20]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x18]
call fcn.00430720
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
mov edi, dword [esp + 0x47c]
push 0x4a5124
push edi
call fcn.004885b5
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4505f3
push ebx
mov ebx, dword [esp + 0x20]
call ebx
push dword [esp + 0x20]
call ebx
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x18]
call fcn.00430720
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movdqu xmmword [esp + 0x40], xmm0
lea eax, [esp + 0x70]
mov dword [esp + 0x2c], 0x28
movdqu xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x400
mov al, byte [esi]
cmp al, 0x68
je 0x4506e2
cmp al, 0x48
je 0x4506e2
lea eax, [esp + 0x10]
push eax
push 0x400
lea eax, [esp + 0x78]
push eax
push ebx
call dword [esp + 0x34]
mov esi, eax
test esi, esi
je 0x450787
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x450660
cmp dword [esp + 0x10], 0
je 0x450780
call edi
mov ecx, dword [0x4ac1d8]
sub eax, dword [0x4b0fcc]
cmp eax, dword [ecx + 0xb8]
jbe 0x4506ac
push 0
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x4506a5
mov edx, 1
or ecx, 0xffffffff
call fcn.004027d0
call edi
mov dword [0x4b0fcc], eax
push dword [esp + 0x14]
lea eax, [esp + 0x74]
push 1
push dword [esp + 0x18]
push eax
call fcn.00488723
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push 0x400
lea eax, [esp + 0x78]
push eax
push ebx
call dword [esp + 0x34]
mov esi, eax
test esi, esi
jne 0x450660
jmp 0x450780
push 0
push 8
lea eax, [esp + 0x34]
push eax
push ebx
call dword [esp + 0x20]
mov esi, eax
test esi, esi
je 0x450787
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [esp + 0x14]
cmp dword [esp + 0x44], 0
je 0x45077c
call edi
mov ecx, dword [0x4ac1d8]
sub eax, dword [0x4b0fcc]
cmp eax, dword [ecx + 0xb8]
jbe 0x45074c
push 0
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x450745
mov edx, 1
or ecx, 0xffffffff
call fcn.004027d0
call edi
mov dword [0x4b0fcc], eax
push ebp
push 1
push dword [esp + 0x4c]
lea eax, [esp + 0x7c]
push eax
call fcn.00488723
add esp, 0x10
mov dword [esp + 0x44], 0x400
lea eax, [esp + 0x2c]
push 0
push 8
push eax
push ebx
call dword [esp + 0x20]
mov esi, eax
test esi, esi
jne 0x450704
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x47c]
push ebx
mov ebx, dword [esp + 0x20]
call ebx
push dword [esp + 0x20]
call ebx
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [esp + 0x14]
call fcn.00488811
add esp, 4
test esi, esi
jne 0x4507b4
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test esi, esi
mov ecx, dword [esp + 0x18]
sete al
movzx eax, al
push eax
call fcn.0042de70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x4ac1d8]
test byte [eax + 0xe0], 1
je 0x450473
mov ecx, dword [esp + 0x18]
push 0x49e065
push 0
push 0x4a09f8
call fcn.0042ddd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8