Function at 0x43c8c0
Capabilities:
Delete file
Download and write a file
Get http content length
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 0x4cc590
mov eax, dword fs:[0]
push eax
sub esp, 0xa1c
mov eax, dword [0x4f6cdc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
xor eax, eax
push 0x3fe
push eax
lea edx, [ebp - 0x412]
xor ecx, ecx
push edx
mov dword [ebp - 0xa20], ebx
mov dword [ebp - 0xa18], edi
mov dword [0x4fbf74], eax
mov dword [0x4fbf68], eax
mov dword [0x4fbf6c], eax
mov dword [0x4fbf70], eax
mov dword [ebp - 0xa0c], eax
mov word [ebp - 0x414], cx
call fcn.0049eae0
add esp, 0xc
test ebx, ebx
je 0x43ce7a
test edi, edi
je 0x43ce7a
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43c955
sub eax, edx
sar eax, 1
je 0x43ce7a
lea edi, [esi + 0xc02]
test edi, edi
je 0x43ce7a
mov eax, edi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43c980
sub eax, edx
sar eax, 1
je 0x43ce7a
lea eax, [esi + 0x400]
mov dword [ebp - 0xa10], eax
test eax, eax
je 0x43ce7a
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43c9b0
sub eax, edx
sar eax, 1
je 0x43ce7a
mov bl, byte [esi + 0x800]
test bl, bl
je 0x43c9f9
lea eax, [esi + 0x802]
test eax, eax
je 0x43c9f1
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43c9e0
sub eax, edx
sar eax, 1
jne 0x43c9f9
test bl, bl
jne 0x43ce7a
xor eax, eax
push 0x3e6
push eax
lea ecx, [ebp - 0x7fa]
push ecx
mov word [ebp - 0x7fc], ax
call fcn.0049eae0
lea edx, [ebp - 0x7fc]
add esp, 0xc
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43ca21
lea eax, [ebp - 0x7fc]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43ca40
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x7fe], 0x2f
je 0x43ca77
lea edi, [ebp - 0x7fc]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x43ca63
mov edx, dword [0x4d4874]
mov dword [edi], edx
mov eax, dword [ebp - 0xa10]
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43ca80
lea edi, [ebp - 0x7fc]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x43ca96
mov ebx, dword [ebp - 0xa20]
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x10]
xor esi, esi
push esi
push SysReAllocString
push esi
push esi
lea eax, [ebp - 0x7fc]
push eax
push ecx
mov dword [ebp - 4], esi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0xa1c], eax
cmp eax, esi
je 0x43ce27
push esi
lea edx, [ebp - 0xa14]
push edx
push 0x4fbf68
push 0x20000005
push eax
mov dword [ebp - 0xa14], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x43ce18
cmp dword [0x4fbf68], 0x1f4
jbe 0x43ce18
mov eax, dword [ebp - 0xa18]
push 0x200
push eax
lea ecx, [ebp - 0x414]
push ecx
mov byte [ebp - 0xa05], 0
call fcn.004a09bd
lea eax, [ebp - 0x414]
add esp, 0xc
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x43cb50
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x416], 0x5c
je 0x43cb83
push 0x200
lea edx, [ebp - 0x414]
push 0x4d3378
push edx
call fcn.004a09bd
add esp, 0xc
mov ecx, dword [ebx + 0x14]
lea eax, [ebp - 0x414]
push eax
call fcn.0040bbd0
mov ecx, dword [ebp - 0xa10]
push 0x200
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.004a09bd
add esp, 0xc
push esi
push 0x80
push 2
push esi
push 3
push 0x40000000
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xa28], eax
cmp eax, 0xffffffff
je 0x43cde4
xor edi, edi
mov dword [ebp - 0xa24], edi
mov bl, 1
mov edx, dword [ebp - 0xa1c]
push edi
push edi
lea ecx, [ebp - 0xa24]
push ecx
push edx
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x43cdd5
mov eax, dword [ebp - 0xa24]
push eax
mov dword [ebp - 0xa10], edi
call fcn.004a0979
mov ecx, dword [ebp - 0xa24]
add esp, 4
push ecx
mov esi, eax
push edi
push esi
call fcn.0049eae0
mov eax, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa1c]
add esp, 0xc
lea edx, [ebp - 0xa10]
push edx
push eax
push esi
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x43ccfc
mov eax, dword [ebp - 0xa10]
cmp eax, edi
jbe 0x43ccfc
cmp byte [0x4fbf64], 0
mov dword [ebp - 0xa18], edi
je 0x43cc80
mov byte [ebp - 0xa05], 1
mov dword [ebp - 0xa0c], 1
jmp 0x43cd06
push edi
lea edx, [ebp - 0xa18]
push edx
push eax
mov eax, dword [ebp - 0xa28]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x43cce9
mov eax, dword [ebp - 0xa10]
cmp dword [ebp - 0xa18], eax
jne 0x43cce9
mov ecx, dword [0x4fbf6c]
mov edx, dword [ebp - 0xa20]
add dword [0x4fbf70], eax
add ecx, eax
mov eax, dword [edx]
push ecx
mov dword [0x4fbf6c], ecx
mov ecx, dword [0x4fbf68]
push ecx
push 0x5f5
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x4fbf6c]
cmp ecx, dword [0x4fbf68]
jb 0x43cd08
jmp 0x43cd06
mov byte [ebp - 0xa05], 1
mov dword [ebp - 0xa0c], 6
jmp 0x43cd06
mov dword [ebp - 0xa0c], 3
xor bl, bl
push esi
call fcn.004a0a01
add esp, 4
test bl, bl
jne 0x43cbe3
cmp dword [ebp - 0xa28], 0xffffffff
je 0x43cd4d
cmp dword [ebp - 0xa28], edi
je 0x43cd4d
mov eax, dword [ebp - 0xa28]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0xa05], 0
je 0x43cd4d
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0xa1c]
test eax, eax
je 0x43cd5e
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp - 0xa0c]
mov dword [ebp - 4], 0xffffffff
test edx, edx
jne 0x43cece
lea eax, [ebp - 0x414]
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43cd80
sub eax, esi
sar eax, 1
je 0x43ce7f
push 0x208
call fcn.004a0979
lea ecx, [ebp - 0x414]
mov esi, eax
mov edx, ecx
add esp, 4
sub esi, edx
mov edi, edi
movzx edx, word [ecx]
mov word [esi + ecx], dx
add ecx, 2
test dx, dx
jne 0x43cdb0
push 0
push eax
mov eax, dword [ebp - 0xa20]
mov ecx, dword [eax]
push 0x5f7
push ecx
jmp 0x43ce90
mov dword [ebp - 0xa0c], 3
jmp 0x43cd19
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
cmp eax, 5
setne dl
add edx, 5
mov dword [ebp - 0xa0c], edx
jmp 0x43cd4d
mov dword [ebp - 0xa0c], 3
jmp 0x43cd4d
push 0x206
lea eax, [ebp - 0xa02]
xor edx, edx
push esi
push eax
mov dword [ebp - 0xa1c], esi
mov word [ebp - 0xa04], dx
call fcn.0049eae0
add esp, 0xc
lea ecx, [ebp - 0xa18]
push ecx
lea edx, [ebp - 0xa04]
push edx
lea eax, [ebp - 0xa1c]
push eax
mov dword [ebp - 0xa18], 0x104
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoW]
mov edx, 3
jmp 0x43cd64
mov edx, 2
mov ecx, dword [ebp - 0xa20]
push 0
push edx
mov edx, dword [ecx]
push 0x5f9
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [0x4fbf78]
test eax, eax
je 0x43ceb2
push eax
push 0
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [0x4fbf78], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049f71b
mov esp, ebp
pop ebp
ret
cmp edx, 1
jne 0x43ce7f
mov edx, dword [ebp - 0xa20]
mov eax, dword [edx]
push 0
push 0
push 0x5f8
push eax
jmp 0x43ce90