Function at 0x44e67b
Capabilities:
Create http request
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
lea ebp, [esp - 0xa8]
sub esp, 0x128
mov eax, dword [0x47e5d0]
xor eax, ebp
mov dword [ebp + 0xa4], eax
mov eax, dword [ebp + 0xb0]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xb4]
push ebx
push esi
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xbc]
push edi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0xc8]
xor ebx, ebx
mov esi, 0xff
push esi
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x5b]
push ebx
push eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x5c], bl
call fcn.00452e00
add esp, 0xc
push str._undefined_
mov edi, 0x485e00
push edi
mov byte [0x485e00], bl
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.vTask
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x68]
cmp eax, ebx
je 0x44e737
cmp byte [eax], bl
je 0x44e737
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp eax, esi
jle 0x44e71f
mov eax, esi
jmp 0x44e729
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp - 0x68]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [ebp - 0x70]
cmp eax, ebx
je 0x44ebc7
cmp byte [eax], bl
je 0x44ebc7
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x64], eax
cmp eax, ebx
jne 0x44e77e
cmp dword [ebp + 0xc0], ebx
je 0x44e77e
mov eax, dword [0x481960]
cmp eax, ebx
je 0x44ebe4
push str.InternetOpen_Error
jmp 0x44ebdd
mov eax, dword [ebp + 0xc4]
cmp eax, ebx
jne 0x44e79c
mov eax, dword [ebp + 0xc0]
neg eax
sbb eax, eax
and eax, 0x4268
add eax, 0xbb8
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionA]
push 4
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
push eax
push 2
push dword [ebp - 0x64]
call esi
push 4
lea eax, [ebp - 0x60]
push eax
push 8
push dword [ebp - 0x64]
call esi
push 4
lea eax, [ebp - 0x60]
push eax
push 7
push dword [ebp - 0x64]
call esi
push 4
lea eax, [ebp - 0x60]
push eax
push 5
push dword [ebp - 0x64]
call esi
push 4
lea eax, [ebp - 0x60]
push eax
push 6
push dword [ebp - 0x64]
call esi
xor eax, eax
cmp dword [ebp + 0xc4], ebx
push 4
sete al
lea eax, [eax + eax + 1]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
push eax
push 3
push dword [ebp - 0x64]
call esi
cmp dword [ebp + 0xc0], ebx
je 0x44e81c
push dword [ebp - 0x70]
push str.____Opening__s...
call fcn.0042604a
pop ecx
pop ecx
push ebx
push 0x84000000
push ebx
push ebx
push dword [ebp - 0x70]
push dword [ebp - 0x64]
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x6c], eax
cmp eax, ebx
jne 0x44e868
mov eax, dword [0x481960]
cmp eax, ebx
je 0x44e85a
cmp dword [ebp + 0xc0], ebx
je 0x44e85a
push dword [ebp - 0x70]
push str.InternetOpenUrl__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [ebp - 0x64]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x44ebe4
push 0x1f
pop eax
push eax
push ebx
push edi
mov dword [ebp - 0x60], eax
call fcn.00452e00
add esp, 0xc
push ebx
lea eax, [ebp - 0x60]
push eax
push edi
push 0x13
push dword [ebp - 0x6c]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x78], ebx
jne 0x44e91c
cmp esi, ebx
je 0x44e89e
cmp byte [esi], bl
jne 0x44e91c
push dword [ebp - 0x6c]
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
call ebx
push dword [ebp - 0x64]
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push 0x46fa70
push edi
call esi
test eax, eax
je 0x44ebe4
push 0x46fa6c
push edi
call esi
test eax, eax
je 0x44ebe4
push 0x46fa68
push edi
call esi
test eax, eax
je 0x44ebe4
push 0x46fa64
push edi
call esi
test eax, eax
je 0x44ebe4
push 0x46fa60
push edi
call esi
test eax, eax
je 0x44ebe4
push 0x46fa5c
push edi
call esi
test eax, eax
je 0x44ebe4
xor eax, eax
inc eax
jmp 0x44ebe6
cmp esi, ebx
je 0x44e987
push esi
call fcn.0041408b
push ebx
push 0x80
push 4
push ebx
push 3
push 0xc0000000
push esi
call fcn.00413e0e
mov edi, eax
mov dword [ebp - 0x74], edi
cmp edi, ebx
je 0x44e94a
cmp edi, 0xffffffff
jne 0x44e989
mov eax, dword [0x481960]
cmp eax, ebx
je 0x44e972
push ebx
push 0x103
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x6c]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push dword [ebp - 0x64]
call edi
jmp 0x44ebe4
mov edi, ebx
push 1
push 0x10000
call fcn.00452b24
pop ecx
pop ecx
mov dword [ebp - 0x68], eax
cmp eax, ebx
jne 0x44e9c5
mov eax, dword [0x481960]
cmp eax, ebx
je 0x44e9b3
push str.Memory_allocation_error
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp edi, ebx
je 0x44e972
cmp edi, 0xffffffff
je 0x44e972
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x44e972
xor esi, esi
mov dword [ebp - 0x60], 1
lea eax, [ebp - 0x60]
push eax
push 0x800
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x44eb70
cmp dword [ebp - 0x60], 1
jb 0x44eb70
cmp esi, ebx
jne 0x44ea10
cmp dword [ebp + 0xc0], ebx
je 0x44ea10
push dword [ebp - 0x70]
push str.____Downloading__s...
call fcn.0042604a
pop ecx
pop ecx
cmp edi, ebx
je 0x44ea36
cmp edi, 0xffffffff
je 0x44ea36
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x60]
push dword [ebp - 0x68]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, dword [ebp - 0x78]
cmp edi, ebx
je 0x44eab5
cmp dword [ebp + 0xb8], 1
jge 0x44ea79
push edi
call fcn.00452af1
pop ecx
lea ecx, [esi + 0x100000]
cmp eax, ecx
jae 0x44ea79
push edi
call fcn.00452af1
add eax, 0x1000000
push eax
push edi
call fcn.00401000
add esp, 0xc
mov dword [ebp - 0x78], eax
cmp eax, ebx
je 0x44ebe4
mov edi, eax
cmp dword [ebp + 0xb8], ebx
jl 0x44ea95
jle 0x44ea90
mov eax, dword [ebp - 0x60]
add eax, esi
cmp dword [ebp + 0xb8], eax
ja 0x44ea95
mov dword [ebp - 0x60], ebx
jmp 0x44eab5
add edi, esi
cmp edi, ebx
je 0x44eaaf
cmp dword [ebp - 0x60], ebx
jbe 0x44eaaf
push dword [ebp - 0x60]
push dword [ebp - 0x68]
push edi
call fcn.00452790
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov byte [edi + eax], bl
add esi, dword [ebp - 0x60]
cmp dword [ebp + 0xc0], ebx
je 0x44eb37
mov eax, dword [0x4800d4]
cmp eax, ebx
je 0x44eb37
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44eb37
push dword [0x4800d4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44eb37
mov eax, esi
cmp esi, 0x100000
jbe 0x44eb1d
mov ecx, esi
shr ecx, 0x14
mov edx, ecx
shl edx, 0x14
sub eax, edx
xor edx, edx
mov edi, 0x19999
div edi
push eax
push ecx
push str.__d._d_MB_downloaded...
push ebx
push 1
push dword [0x4800d4]
call fcn.00424cda
add esp, 0x18
jmp 0x44eb37
shr eax, 0xa
push eax
push str.__li_KB_downloaded...
push ebx
push 1
push dword [0x4800d4]
call fcn.00424cda
add esp, 0x14
mov edi, dword [ebp - 0x74]
cmp dword [ebp - 0x60], ebx
ja 0x44e9ce
cmp edi, ebx
je 0x44eb53
cmp edi, 0xffffffff
je 0x44eb53
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x6c]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push dword [ebp - 0x64]
call edi
push dword [ebp - 0x68]
call fcn.00452756
pop ecx
mov eax, esi
jmp 0x44ebe6
cmp esi, ebx
ja 0x44eb43
mov eax, dword [0x481960]
cmp eax, ebx
je 0x44eb9c
push ebx
push 0x103
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
cmp edi, ebx
je 0x44ebac
cmp edi, 0xffffffff
je 0x44ebac
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x6c]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push dword [ebp - 0x64]
call edi
push dword [ebp - 0x68]
call fcn.00452756
pop ecx
jmp 0x44ebe4
mov eax, dword [0x481960]
cmp eax, ebx
je 0x44ebe4
cmp dword [ebp + 0xc0], ebx
je 0x44ebe4
push str.Missing_Parameters
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
mov ecx, dword [ebp + 0xa4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0xa8
leave
ret 0x1c