Function at 0x449c00
Capabilities:
Copy file
Delete file
Download and write a file
Get file size
Move file
Query remote server for available data
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47f665
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x4a6024]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449c3e
push dword [edi + 0x18]
mov eax, dword [ecx]
push dword [ebp + 0x10]
push 1
call dword [eax + 0xc]
cmp byte [edi + 0x11], 0
jne 0x44a1a2
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449c5e
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x44a1a2
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
test eax, eax
je 0x449c92
cmp eax, esi
jne 0x449c92
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449c7c
mov eax, dword [ecx]
push 0
push 1
call dword [eax + 0x14]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [edi + 0x1c]
xor dl, dl
push 0
call fcn.00424440
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x449cce
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449cb8
mov eax, dword [ecx]
push 0
push ebx
push 0
call dword [eax + 0x24]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
mov ecx, edi
call fcn.0044a510
mov ebx, eax
mov dword [ebp - 0x28], 0x48ec3c
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], 0
cmp ebx, 0xffffffff
jne 0x449d38
cmp byte [edi + 0x11], 0
jne 0x449d2e
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449d09
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x449d2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [edi + 0xc]
mov edi, eax
mov dword [ebp + 0x14], eax
test ecx, ecx
je 0x44a16c
mov eax, dword [ecx]
push 0
push edi
push 0
call dword [eax + 0x24]
jmp 0x44a16c
mov edi, 0xe0000008
jmp 0x44a16c
mov ecx, dword [edi + 0xc]
test esi, esi
je 0x449d46
test ecx, ecx
je 0x449d51
push esi
jmp 0x449d4c
test ecx, ecx
je 0x449d51
push 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
push 0xc800
call fcn.00426280
mov esi, dword [ebp - 0x1c]
nop dword [eax]
push dword [edi + 0x68]
mov ebx, dword [edi + 4]
mov byte [edi + 0x38], 0
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 0
push 0
lea eax, [ebp - 0x18]
mov byte [edi + 0x41], 0
push eax
push ebx
mov dword [edi + 0x34], 8
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x449e64
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp + 0x14], ebx
cmp ebx, 0x3e5
jne 0x449e50
cmp byte [edi + 0x38], 0
jne 0x449e3b
nop
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x449e3b
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449e0a
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x449e0a
nop
cmp byte [edi + 0x38], 0
jne 0x449e0a
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x449e0a
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x449de0
cmp byte [edi + 0x11], 0
jne 0x44a0b1
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449e2a
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x44a0b1
push 0xa
push dword [edi + 0x68]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [edi + 0x38], 0
je 0x449dc0
cmp dword [edi + 0x30], 0
mov ebx, dword [edi + 0x2c]
mov dword [ebp + 0x14], ebx
je 0x449e50
test ebx, ebx
jle 0x449e6d
mov dword [ebp - 0x18], ebx
jmp 0x449e70
mov dword [ebp - 0x10], 0
test ebx, ebx
jne 0x449f74
mov ebx, dword [ebp - 0x18]
jmp 0x449e77
push dword [edi + 0x68]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x10], 0
test ebx, ebx
je 0x44a064
push dword [edi + 0x68]
cmp ebx, 0xc800
mov byte [edi + 0x38], 0
mov eax, 0xc800
cmova ebx, eax
mov dword [ebp + 0x14], ebx
mov ebx, dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea eax, [ebp - 0x10]
mov byte [edi + 0x41], 0
push eax
mov eax, dword [ebp + 0x14]
push eax
push esi
push ebx
mov dword [edi + 0x34], 3
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x449fbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp + 0x14], ebx
cmp ebx, 0x3e5
jne 0x449f70
cmp byte [edi + 0x38], 0
jne 0x449f5b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x449f5b
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449f2a
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x449f2a
nop
cmp byte [edi + 0x38], 0
jne 0x449f2a
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x449f2a
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x449f00
cmp byte [edi + 0x11], 0
jne 0x44a0b8
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449f4a
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x44a0b8
push 0xa
push dword [edi + 0x68]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [edi + 0x38], 0
je 0x449ee0
cmp dword [edi + 0x30], 0
mov ebx, dword [edi + 0x2c]
mov dword [ebp + 0x14], ebx
je 0x449f70
test ebx, ebx
jle 0x449fc5
mov dword [ebp - 0x10], ebx
jmp 0x449fc8
test ebx, ebx
je 0x449fc5
mov eax, ebx
cmp ebx, 0x2ee2
je 0x449fa0
mov dword [ebp + 0x14], ebx
cmp eax, 0x2efe
je 0x449fa0
mov dword [ebp + 0x14], ebx
cmp eax, 0x2eff
je 0x449fa0
mov dword [ebp + 0x14], ebx
cmp eax, 0x2f83
jne 0x44a0a3
cmp byte [edi + 0x88], 0
je 0x44a0a3
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0xc]
push dword [ebp - 0x14]
jmp 0x44a08c
push dword [edi + 0x68]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x44a064
push 0
lea eax, [ebp - 0x20]
push eax
push ebx
mov ebx, dword [ebp - 0x14]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x44a11d
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449ff9
mov eax, dword [ecx]
push dword [ebp - 0x20]
call dword [eax + 0x18]
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x44a03a
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x44a03a
nop dword [eax + eax]
cmp byte [edi + 0x38], 0
jne 0x44a03a
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
jne 0x44a03a
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x44a010
cmp byte [edi + 0x11], 0
jne 0x44a05a
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x449d70
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x449d70
mov edi, 0xe0000008
jmp 0x44a158
cmp dword [ebp + 0x10], 0
mov ebx, dword [ebp - 0x14]
jbe 0x44a0de
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, dword [ebp + 0x10]
jae 0x44a0de
cmp byte [edi + 0x88], 0
je 0x44a0c2
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0xc]
push ebx
push dword [ebp + 8]
mov ecx, edi
call fcn.0044ac40
mov ebx, eax
mov dword [ebp + 0x14], ebx
test ebx, ebx
je 0x449d70
cmp ebx, 0xe0000008
je 0x44a139
jmp 0x44a128
mov dword [ebp - 0x10], 0
mov edi, 0xe0000008
jmp 0x44a155
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x44a0d7
mov eax, dword [ecx]
push 0
push 0xe000000f
push 0
call dword [eax + 0x24]
mov edi, 0xe000000f
jmp 0x44a155
test ebx, ebx
je 0x44a0f1
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], eax
push dword [edi + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call ebx
push dword [edi + 0x18]
push dword [edi + 0x1c]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x44a143
push eax
push dword [edi + 0x18]
push dword [edi + 0x1c]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x44a13e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp + 0x14], ebx
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x44a139
mov eax, dword [ecx]
push 0
push ebx
push 0
call dword [eax + 0x24]
mov edi, dword [ebp + 0x14]
jmp 0x44a155
push dword [edi + 0x1c]
call ebx
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x44a153
mov eax, dword [ecx]
push 0
push 1
call dword [eax + 0x14]
xor edi, edi
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
push esi
call fcn.00452f38
add esp, 4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0x48ec3c
test ebx, ebx
je 0x44a18c
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x24], 0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0xe0000008
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10