Function at 0x457de0
Capabilities:
Check for time delay via gettickcount
Create http request
Delete file
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x454
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, 0x84000000
push edi
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x457e0d
cmp eax, 9
jne 0x457e12
add esi, 2
jmp 0x457e00
cmp eax, 0x2a
jne 0x457e75
add esi, 2
mov ecx, esi
call fcn.004151f0
mov dword [esp + 0xc], eax
mov ebx, esi
test esi, esi
je 0x457e71
movzx ecx, word [esi]
test cx, cx
je 0x457e71
mov edi, ecx
nop word [eax + eax]
mov ecx, 0x4ca844
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x457ebe
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x457e50
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x457e40
mov ebx, dword [esp + 0xc]
push 0
push 0
push 0
push 4
push str.AutoHotkey
call dword [sym.imp.WININET.dll_InternetOpenW]
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x457ef0
mov eax, dword [0x4d98d8]
test byte [eax + 0x100], 1
jne 0x457ed2
mov ecx, dword [0x4dc408]
push 1
push edi
push 0xffffffffffffffff
push 0x4ca34c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, ebx
movzx eax, word [esi]
cmp eax, 0x20
je 0x457ecd
cmp eax, 9
jne 0x457e71
add esi, 2
jmp 0x457ec0
mov ecx, dword [esp + 0x10]
push 0x4b70dc
push 0
push 0x4ca34c
call fcn.0042fd40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0
push ebx
push 0
push 0
push esi
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov ebx, eax
test ebx, ebx
jne 0x457f38
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [0x4d98d8]
test byte [eax + 0x100], 1
jne 0x457ed2
mov ecx, dword [0x4dc408]
push 1
push ebx
push 0xffffffffffffffff
push 0x4ca34c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x4d2644
push dword [ebp + 0xc]
call fcn.004a1699
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x457f8d
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
push edi
call esi
mov eax, dword [0x4d98d8]
test byte [eax + 0x100], 1
jne 0x457ed2
mov ecx, dword [0x4dc408]
push 1
push 0
push 0xffffffffffffffff
push 0x4ca34c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [esp + 0x60]
mov dword [esp + 0x40], 0
xorps xmm0, xmm0
mov dword [esp + 0x30], eax
movzx eax, word [esi]
movlpd qword [esp + 0x20], xmm0
movlpd qword [esp + 0x28], xmm0
movlpd qword [esp + 0x38], xmm0
mov dword [esp + 0x1c], 0x28
mov dword [esp + 0x34], 0x400
cmp eax, 0x68
je 0x458084
cmp eax, 0x48
je 0x458084
lea eax, [esp + 0xc]
push eax
push 0x400
lea eax, [esp + 0x68]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov edi, eax
test edi, edi
je 0x458121
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [eax]
cmp dword [esp + 0xc], 0
je 0x458121
call esi
mov ecx, dword [0x4d98d8]
sub eax, dword [0x4de79c]
cmp eax, dword [ecx + 0xd8]
jbe 0x45804c
push 0
push 0
push 0
push 0
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x458045
mov edx, 1
or ecx, 0xffffffff
call fcn.004015d0
call esi
mov dword [0x4de79c], eax
push dword [esp + 0x14]
lea eax, [esp + 0x64]
push 1
push dword [esp + 0x14]
push eax
call fcn.004a18c9
add esp, 0x10
lea eax, [esp + 0xc]
push eax
push 0x400
lea eax, [esp + 0x68]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov edi, eax
test edi, edi
jne 0x458000
jmp 0x458121
push 0
push 8
lea eax, [esp + 0x24]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFileExA]
mov edi, eax
test edi, edi
je 0x458121
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [esp + 0x34], 0
je 0x458121
call esi
mov ecx, dword [0x4d98d8]
sub eax, dword [0x4de79c]
cmp eax, dword [ecx + 0xd8]
jbe 0x4580ec
push 0
push 0
push 0
push 0
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x4580e5
mov edx, 1
or ecx, 0xffffffff
call fcn.004015d0
call esi
mov dword [0x4de79c], eax
push dword [esp + 0x14]
lea eax, [esp + 0x64]
push 1
push dword [esp + 0x3c]
push eax
call fcn.004a18c9
add esp, 0x10
mov dword [esp + 0x34], 0x400
lea eax, [esp + 0x1c]
push 0
push 8
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFileExA]
mov edi, eax
test edi, edi
jne 0x4580a4
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
push dword [esp + 0x18]
call esi
push dword [esp + 0x14]
call fcn.004a19a5
add esp, 4
test edi, edi
jne 0x458179
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [0x4d98d8]
test byte [eax + 0x100], 1
jne 0x457ed2
mov ecx, dword [0x4dc408]
push 1
push edi
push 0xffffffffffffffff
push 0x4ca34c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [0x4dc408]
push 1
push 0
push 0xffffffffffffffff
push 0x4b716c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8