Function at 0x483f60
Capabilities:
Accept command line arguments
Check if file exists
Copy file
Create http request
Create process on windows
Delete file
Download and write a file
Move file
Read data from internet
Receive and write data from server to client
Receive data
Set file attributes
Terminate process
Write and execute a file
Write file on windows

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
xor esi, esi
push 0x208
mov eax, 0x1000
push esi
push 0x4d1b10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
xor edi, edi
mov dword [esp + 0x28], esi
call fcn.00487630
push 0x208
push esi
push 0x4d1908
call fcn.00487630
add esp, 0x18
push 0x104
push 0x4d1b10
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x4d1b10
push str._soriginal
push 0x104
push 0x4d1908
call fcn.00466960
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esp, 0x10
push 0x4d1908
call ebx
push esi
push esi
push esi
push 1
push str.WinInet
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebp, eax
mov dword [esp + 0x20], ebp
test ebp, ebp
je 0x484174
mov eax, dword [esp + 0x80]
push edi
push connect
push edi
push edi
push eax
push ebp
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov esi, eax
test esi, esi
je 0x484174
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
push 0x4d0908
push 5
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x484174
push 0x4d0908
call fcn.00488412
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, 0x1000
jbe 0x484174
push 0xb
push 0x4d1908
push 0x4d1b10
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x484087
push eax
push 0x4d1908
push 0x4d1b10
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x484174
push 0x4d1b10
mov dword [esp + 0x1c], 1
call ebx
push 0
push 0x80
push 2
push 0
push 1
push 0xc0000000
push 0x4d1b10
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x484174
push 0x1000
push 0
push 0x4d0908
call fcn.00487630
mov ebp, dword [sym.imp.WININET.dll_InternetReadFile]
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0x1000
push 0x4d0908
push esi
call ebp
test eax, eax
je 0x484143
mov edi, edi
mov eax, dword [esp + 0x10]
test eax, eax
jbe 0x484143
push 0
lea ecx, [esp + 0x28]
push ecx
push eax
push 0x4d0908
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x484141
push 0x1000
push 0
push 0x4d0908
mov edi, 1
call fcn.00487630
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push 0x1000
push 0x4d0908
push esi
call ebp
test eax, eax
jne 0x4840f0
jmp 0x484143
xor edi, edi
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x484165
push 0x4d1b10
call fcn.0046ea70
add esp, 4
cmp eax, dword [0x4d0900]
je 0x484170
xor edi, edi
push 0x4d1b10
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebp, dword [esp + 0x20]
push 0x1000
push 0
push 0x4d0908
call fcn.00487630
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
add esp, 0xc
test esi, esi
je 0x484195
push esi
call ebx
test ebp, ebp
je 0x48419c
push ebp
call ebx
test edi, edi
je 0x484215
xor eax, eax
push 0x44
push eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x40]
push eax
call fcn.00487630
add esp, 0xc
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x3c]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x58], 0x44
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x4d1b10
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x484213
push 2
push 0x4d1908
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor edi, edi
cmp dword [esp + 0x18], 0
je 0x484252
push 0x4d1908
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x484252
push 0xb
push 0x4d1b10
push 0x4d1908
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x484252
push eax
push 0x4d1b10
push 0x4d1908
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x208
push 0
push 0x4d1b10
call fcn.00487630
push 0x208
push 0
push 0x4d1908
call fcn.00487630
add esp, 0x18
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret