Function at 0x423d00
Capabilities:
Download and write a file
Hash data with md5
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2080
call fcn.004372f0
mov eax, dword [0x45407c]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi]
lea ecx, [ebp - 0x2078]
push ecx
mov ebx, edx
push 0x2000
lea edx, [ebp - 0x201c]
mov dword [ebp - 0x2080], eax
xor eax, eax
push edx
push ebx
mov dword [ebp - 0x2078], eax
mov dword [ebp - 0x2074], 0x67452301
mov dword [ebp - 0x2070], 0xefcdab89
mov dword [ebp - 0x206c], 0x98badcfe
mov dword [ebp - 0x2068], 0x10325476
mov dword [ebp - 0x2064], eax
mov dword [ebp - 0x2060], eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x423e46
jmp 0x423d90
mov eax, dword [ebp - 0x2078]
test eax, eax
je 0x423e87
push 0
lea ecx, [ebp - 0x207c]
push ecx
push eax
mov eax, dword [ebp - 0x2080]
lea edx, [ebp - 0x201c]
push edx
push eax
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
je 0x423efd
mov eax, dword [ebp - 0x207c]
cmp dword [ebp - 0x2078], eax
jne 0x423efd
push eax
lea ecx, [ebp - 0x201c]
push ecx
lea eax, [ebp - 0x2074]
call fcn.00426e70
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x2078]
add dword [edi + 0x10], edx
mov eax, dword [edi + 0x10]
add esp, 8
push ecx
push 0x64
push eax
call dword [sym.imp.KERNEL32.DLL_MulDiv]
cmp eax, 0x64
je 0x423e24
cmp eax, dword [edi + 0xc]
je 0x423e24
mov dword [edi + 0xc], eax
test esi, esi
je 0x423e24
mov ecx, dword [esi + 0x224]
test ecx, ecx
je 0x423e24
push esi
push eax
call ecx
lea edx, [ebp - 0x2078]
push edx
push 0x2000
lea eax, [ebp - 0x201c]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x423d90
mov ecx, edi
call fcn.00423670
mov ecx, dword [esi + 0x204]
test ecx, ecx
je 0x423e66
push 0x44cc3c
push str.ERROR
call fcn.00404920
mov edi, dword [edi]
dec dword [edi + 0x21c]
cmp dword [edi + 0x21c], 0
jle 0x423f3b
mov ecx, dword [edi + 0x220]
push ecx
jmp 0x423f35
mov edx, dword [edi + 0x10]
cmp edx, dword [edi + 4]
jne 0x423ee3
lea eax, [ebp - 0x18]
push eax
lea esi, [ebp - 0x2074]
mov byte [edi + 8], 1
call fcn.00426f80
mov ecx, dword [edi + 0x18]
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
xor edx, edx
add esp, 4
mov word [ecx], dx
xor esi, esi
movzx ecx, byte [ebp + esi - 0x18]
mov eax, dword [edi + 0x18]
push ecx
push eax
push str._s_02x
push eax
call ebx
inc esi
add esp, 0x10
cmp esi, 0x10
jb 0x423eb5
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004276fb
mov esp, ebp
pop ebp
ret 4
mov dword [edi + 0x10], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004276fb
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.00423670
mov ecx, dword [esi + 0x204]
test ecx, ecx
je 0x423f1d
push 0x44cc70
push str.ERROR
call fcn.00404920
mov edi, dword [edi]
dec dword [edi + 0x21c]
cmp dword [edi + 0x21c], 0
jle 0x423f3b
mov edx, dword [edi + 0x220]
push edx
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ecx, dword [ebp - 8]
mov eax, 0x2710
add dword [edi + 0x218], eax
add dword [edi + 0x214], eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004276fb
mov esp, ebp
pop ebp
ret 4