Function at 0x440d20
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58f9b0
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x10b8
call fcn.004c3410
mov eax, dword [0x5f4760]
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 edi, 0x5d7b24
lea esi, [ebp - 0x101c]
call fcn.004065f0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x101c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov esi, 0x602250
test eax, eax
jne 0x440dcd
push 0x5d7b38
call fcn.00409e30
add esp, 4
push 0
push 0x1000
call fcn.00402d20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x101c]
push ecx
call fcn.00403090
xor al, al
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.004a314d
mov esp, ebp
pop ebp
ret
push str.load_360EntPublish.dat
call fcn.00409e30
add esp, 4
push 0
push 0x1000
call fcn.00402d60
mov edi, str.360EntPublish_static.dat
lea esi, [ebp - 0x1064]
call fcn.004065f0
mov ebx, 1
mov byte [ebp - 4], bl
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603db0]
push eax
push str.port
push str.server
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call esi
mov dword [0x603db0], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603db4]
push edx
push str.debug_level
push str.server
call esi
mov dword [0x603db4], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603db8]
push ecx
push str.sock_bufsize
push str.server
call esi
mov dword [0x603db8], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603dbc]
push eax
push str.log_http
push str.server
call esi
mov dword [0x603dbc], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603dc0]
push edx
push str.log_proxy
push str.server
call esi
mov dword [0x603dc0], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603dd0]
push ecx
push str.log_p2p
push str.server
call esi
mov dword [0x603dd0], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603dc4]
push eax
push str.log_keep_day
push str.server
call esi
mov dword [0x603dc4], eax
mov ecx, dword [ebp - 0x101c]
push ecx
push 0x64
push str.iocp_thread_count
push str.server
call esi
mov dword [0x603dd4], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x6042fc]
push eax
push str.proxy_retry_delay
push str.server
call esi
mov dword [0x6042fc], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x604300]
push edx
push str.proxy_cache_expire
push str.server
call esi
mov dword [0x604300], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x604304]
push ecx
push str.proxy_cache_errors
push str.server
call esi
mov dword [0x604304], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x604308]
push eax
push str.proxy_fetch
push str.server
call esi
mov dword [0x604308], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x60430c]
push edx
push str.proxy_fetch_conn
push str.server
call esi
mov dword [0x60430c], eax
cmp eax, ebx
jae 0x440f99
mov dword [0x60430c], ebx
jmp 0x440fa8
cmp eax, 0xa
jbe 0x440fa8
mov dword [0x60430c], 0xa
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x604310]
push ecx
push str.proxy_fetch_try
push str.server
call esi
mov dword [0x604310], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x604314]
push eax
push str.cache_xml_interval
push str.server
call esi
mov dword [0x604314], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603e00]
push edx
push str.cache_free_mb
push str.server
call esi
mov dword [0x603e00], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e04]
push ecx
push str.cache_suggest_mb
push str.server
call esi
mov dword [0x603e04], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x604300]
lea eax, [eax + eax*8]
push eax
push str.cache_clean_interval
push str.server
call esi
mov dword [0x604318], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov eax, dword [0x604300]
lea edx, [eax + eax*2]
push edx
push str.cache_force_clean_interval
push str.server
call esi
mov dword [0x60431c], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e08]
push ecx
push str.cache_clean_max
push str.server
call esi
mov dword [0x603e08], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x6041c4]
push eax
push str.proxy_auto_update
push str.server
call esi
mov dword [0x6041c4], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x6041c8]
push edx
push str.entV3_update_interval
push str.server
call esi
mov dword [0x6041c8], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x6041cc]
push ecx
push str.entV3_update_startime
push str.server
call esi
mov dword [0x6041cc], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x6041d0]
push eax
push str.entV3_update_endtime
push str.server
call esi
mov dword [0x6041d0], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x6041a4]
push edx
push str.internetmode
push str.server
call esi
mov dword [0x6041a4], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603dcc]
push ecx
push str.log_lostfile_safesd
push str.server
call esi
mov dword [0x603dcc], eax
test eax, eax
jne 0x44115c
mov edx, dword [ebp - 0x101c]
push edx
push 0x5d70fc
push str.log_lostfile_safesd
push str.server
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603ddc]
push ecx
push str.log_error_maxsize
push str.server
call esi
mov dword [0x603ddc], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603de0]
push eax
push str.log_post_maxsize
push str.server
call esi
mov dword [0x603de0], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603de4]
push edx
push str.log_proxy_maxsize
push str.server
call esi
mov dword [0x603de4], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603df0]
push ecx
push str.log_p2p_maxsize
push str.server
call esi
mov dword [0x603df0], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603de8]
push eax
push str.log_cache_maxsize
push str.server
call esi
mov dword [0x603de8], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603dec]
push edx
push str.log_sfsdlost_maxsize
push str.server
call esi
mov dword [0x603dec], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603dc8]
push ecx
push str.log_fast_io
push str.server
call esi
mov dword [0x603dc8], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603dd8]
push eax
push str.connect_timeout
push str.server
call esi
mov dword [0x603dd8], eax
mov byte [ebp - 0x818], 0
push 0x7ff
push 0
lea ecx, [ebp - 0x817]
push ecx
call fcn.004add60
add esp, 0xc
mov edx, dword [ebp - 0x101c]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
push str.html
push str.wwwroot
push str.server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [ebp - 0x818]
lea esi, [ebp - 0x1038]
call fcn.004065f0
mov byte [ebp - 4], 2
mov ebx, 0x603df8
call fcn.00406760
mov byte [ebp - 4], 1
mov ecx, esi
push ecx
call fcn.00403090
push 0x604204
push str.noexpire_urls
mov edx, dword [ebp - 0x101c]
push edx
call fcn.0043f6b0
add esp, 0xc
push 0x6042ac
push str.qvm_urls
mov eax, dword [ebp - 0x101c]
push eax
call fcn.0043f6b0
add esp, 0xc
push 0x60427c
push str.leak_urls
mov ecx, dword [ebp - 0x101c]
push ecx
call fcn.0043f6b0
add esp, 0xc
push 0x604234
push str.nocache_urls
mov edx, dword [ebp - 0x101c]
push edx
call fcn.0043f6b0
add esp, 0xc
push 0x604264
push str.dynamic_pages
mov eax, dword [ebp - 0x101c]
push eax
call fcn.0043f6b0
add esp, 0xc
push 0x60424c
push str.needparam_urls
mov ecx, dword [ebp - 0x101c]
push ecx
call fcn.0043f6b0
add esp, 0xc
push 0x604294
push str.soft_urls
mov edx, dword [ebp - 0x101c]
push edx
call fcn.0043f6b0
add esp, 0xc
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, 0x6042e4
call fcn.0043f770
add esp, 4
mov ecx, dword [ebp - 0x101c]
push ecx
push 0x7ff
mov edx, edi
push edx
push str.entlog.cab
push str.logclient
push str.server
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call esi
mov eax, edi
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4413b0
sub eax, ecx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
mov eax, 0x6041a8
call fcn.004033b0
mov edx, dword [ebp - 0x101c]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
push str._Task_EntTask.cab
push str.logaccess
push str.server
call esi
lea eax, [ebp - 0x818]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x441400
sub eax, ecx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
mov eax, 0x6041ac
call fcn.004033b0
mov edx, dword [ebp - 0x101c]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
push str.entreportinfo.cab
push str.logreport
push str.server
call esi
lea eax, [ebp - 0x818]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x441450
sub eax, ecx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
mov eax, 0x6041b0
call fcn.004033b0
mov edx, dword [ebp - 0x101c]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
push str.index.html
push str.index
push str.server
call esi
lea eax, [ebp - 0x818]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4414a0
sub eax, ecx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
mov eax, 0x6041b4
call fcn.004033b0
mov edx, dword [ebp - 0x101c]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
push str.admin
push str.admin
push str.server
call esi
lea ecx, [ebp - 0x818]
push ecx
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1038]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 3
mov ebx, 0x6041b8
call fcn.00406760
mov byte [ebp - 4], 1
mov edx, esi
push edx
call fcn.00403090
xor esi, esi
mov dword [ebp - 0x1024], esi
lea eax, [ebp - 0x1030]
push eax
call fcn.004030f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x102c]
push ecx
call fcn.004030f0
mov byte [ebp - 4], 5
lea ecx, [ecx]
push 0x800
push 0
lea edx, [ebp - 0x818]
push edx
call fcn.004add60
add esp, 0xc
push esi
push str.rewrite_d
lea edi, [ebp - 0x1030]
call fcn.00402e20
push esi
push str.rewriteto_d
lea edi, [ebp - 0x102c]
call fcn.00402e20
add esp, 0x10
mov eax, dword [ebp - 0x101c]
push eax
push 0x7ff
lea ecx, [ebp - 0x818]
push ecx
push 0x5d2b98
mov edx, dword [ebp - 0x1030]
push edx
push str.installer
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x818]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4415b0
sub eax, ecx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
lea eax, [ebp - 0x1030]
call fcn.004033b0
lea ebx, [ebp - 0x1030]
call fcn.00406560
mov edi, eax
call fcn.00406480
mov eax, dword [ebp - 0x1030]
cmp dword [eax - 0xc], 0
je 0x4416fd
push eax
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1038]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 6
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
mov esi, dword [ebp - 0x1030]
add esi, 0xfffffff0
cmp eax, esi
je 0x44165f
lea edi, [esi + 0xc]
cmp dword [edi], 0
jl 0x441650
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x441650
call fcn.004066f0
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x441645
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
mov eax, dword [edx + 4]
call eax
add ebx, 0x10
mov dword [ebp - 0x1030], ebx
jmp 0x44165f
mov edi, dword [ecx - 0xc]
push ecx
lea eax, [ebp - 0x1030]
call fcn.004033b0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1038]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441685
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x101c]
push ecx
push 0x7ff
lea edx, [ebp - 0x818]
push edx
push 0x5d2b98
mov eax, dword [ebp - 0x102c]
push eax
push str.installer
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x818]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4416b8
sub eax, edx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
lea eax, [ebp - 0x102c]
call fcn.004033b0
lea ebx, [ebp - 0x102c]
call fcn.00406560
mov edi, eax
call fcn.00406480
mov eax, dword [ebp - 0x102c]
cmp dword [eax - 0xc], 0
jne 0x44402b
mov esi, dword [ebp - 0x1024]
test esi, esi
jne 0x441857
push str.install360EntInst
lea edi, [esi + 0x12]
lea eax, [ebp - 0x1030]
call fcn.004033b0
mov edx, dword [ebp - 0x1030]
push edx
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1038]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 0xa
lea ebx, [ebp - 0x1030]
call fcn.00406760
mov byte [ebp - 4], 5
mov eax, esi
push eax
call fcn.00403090
push str.install360EntInst.dat
mov edi, 0x16
lea eax, [ebp - 0x102c]
call fcn.004033b0
mov ecx, dword [ebp - 0x102c]
push ecx
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1038]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 0xb
lea ebx, [ebp - 0x102c]
call fcn.00406760
mov byte [ebp - 4], 5
mov edx, esi
push edx
call fcn.00403090
mov eax, ebx
push eax
lea ecx, [ebp - 0x1030]
push ecx
mov eax, 0x6043d4
call fcn.00444960
push str.install360EntClientMigrate
mov edi, 0x1b
lea eax, [ebp - 0x1030]
call fcn.004033b0
mov edx, dword [ebp - 0x1030]
push edx
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1038]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 0xc
lea ebx, [ebp - 0x1030]
call fcn.00406760
mov byte [ebp - 4], 5
mov eax, esi
push eax
call fcn.00403090
push str.install360EntClientMigrate.exe
mov edi, 0x1f
lea eax, [ebp - 0x102c]
call fcn.004033b0
mov ecx, dword [ebp - 0x102c]
push ecx
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1038]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 0xd
lea ebx, [ebp - 0x102c]
call fcn.00406760
mov byte [ebp - 4], 5
mov edx, esi
push edx
call fcn.00403090
mov eax, ebx
push eax
lea ecx, [ebp - 0x1030]
push ecx
mov eax, 0x6043d4
call fcn.00444960
mov edi, 0x5d2d34
lea esi, [ebp - 0x1020]
call fcn.004065f0
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x604348]
push eax
push str.type
push str.server
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call ebx
mov dword [0x604348], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x60434c]
push edx
push str.heartbeat_clients_per_second
push str.server
call ebx
mov dword [0x60434c], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x604350]
push ecx
push str.heartbeat_min_interval
push str.server
call ebx
mov dword [0x604350], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x604308]
push eax
push str.proxy_fetch
push str.server
call ebx
mov dword [0x604308], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x60430c]
push edx
push str.proxy_fetch_conn
push str.server
call ebx
mov dword [0x60430c], eax
cmp eax, 1
jae 0x44191b
mov dword [0x60430c], 1
jmp 0x44192a
cmp eax, 0xa
jbe 0x44192a
mov dword [0x60430c], 0xa
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x604310]
push ecx
push str.proxy_fetch_try
push str.server
call ebx
mov dword [0x604310], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x604328]
push eax
push str.proxy_fetch_download_type
push str.server
call ebx
mov dword [0x604328], eax
mov ecx, dword [ebp - 0x1020]
push ecx
movzx edx, byte [0x603f38]
push edx
push str.disable_socks5
push str.server
call ebx
test eax, eax
setne al
mov byte [0x603f38], al
mov ecx, dword [ebp - 0x1020]
push ecx
movzx edx, byte [0x603f39]
push edx
push str.https_no_verify_cert
push str.server
call ebx
test eax, eax
setne al
mov byte [0x603f39], al
mov ecx, dword [ebp - 0x1020]
push ecx
push 0x12b
push 0x603f3a
push 0x5d2b98
push str.sk5_user
push str.server
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call esi
mov edx, dword [ebp - 0x1020]
push edx
push 0x12b
push 0x604066
push 0x5d2b98
push str.sk5_pwd
push str.server
call esi
mov edi, str.360HostRedirect.dat
lea esi, [ebp - 0x106c]
call fcn.004065f0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x1020]
push eax
push 0
push str.dltype
push 0x5d8000
call ebx
sub eax, 0
je 0x441af0
sub eax, 1
je 0x441a4a
sub eax, 1
jne 0x441bf8
mov esi, 0x6041d4
call fcn.0040ac00
jmp 0x441bf8
lea ecx, [ebp - 0x1050]
push ecx
call fcn.00462370
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x1050]
push edx
push str.proxy_hosts_min
mov eax, dword [ebp - 0x101c]
push eax
call fcn.0043f6b0
add esp, 0xc
xor esi, esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
test eax, eax
jbe 0x441ab5
cmp esi, eax
jb 0x441a93
call fcn.004a35f3
mov ecx, dword [ebp - 0x1044]
mov ecx, dword [ecx + esi*4]
call fcn.0043f320
inc esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
cmp esi, eax
jb 0x441a93
mov edx, dword [0x6041e4]
sub edx, dword [0x6041e0]
test edx, 0xfffffffc
jne 0x441be8
mov ecx, str..360safe.com
call fcn.0043f320
mov ecx, str..360.cn
call fcn.0043f320
mov ecx, str..microsoft.com
call fcn.0043f320
jmp 0x441be8
lea ecx, [ebp - 0x1050]
push ecx
call fcn.00462370
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1050]
push edx
push str.proxy_hosts_min
mov eax, dword [ebp - 0x101c]
push eax
call fcn.0043f6b0
add esp, 0xc
xor esi, esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
test eax, eax
jbe 0x441b5b
cmp esi, eax
jb 0x441b39
call fcn.004a35f3
mov ecx, dword [ebp - 0x1044]
mov ecx, dword [ecx + esi*4]
call fcn.0043f320
inc esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
cmp esi, eax
jb 0x441b39
mov edx, dword [0x6041e4]
sub edx, dword [0x6041e0]
test edx, 0xfffffffc
jne 0x441b8d
mov ecx, str..360safe.com
call fcn.0043f320
mov ecx, str..360.cn
call fcn.0043f320
mov ecx, str..microsoft.com
call fcn.0043f320
lea eax, [ebp - 0x1050]
push eax
push str.proxy_hosts
mov ecx, dword [ebp - 0x101c]
push ecx
call fcn.0043f6b0
add esp, 0xc
xor esi, esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
test eax, eax
jbe 0x441be8
cmp esi, eax
jb 0x441bc6
call fcn.004a35f3
mov edx, dword [ebp - 0x1044]
mov ecx, dword [edx + esi*4]
call fcn.0043f320
inc esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
cmp esi, eax
jb 0x441bc6
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1050]
push eax
call fcn.0040ac80
mov ecx, dword [ebp - 0x106c]
push ecx
mov edx, dword [0x604390]
push edx
push str.status
push str.host_redirect
call ebx
mov dword [0x604390], eax
xor edi, edi
cmp eax, edi
je 0x442365
mov eax, dword [ebp - 0x106c]
push eax
push edi
push str.count
push str.host_redirect
call ebx
mov esi, eax
mov dword [ebp - 0x1034], esi
cmp esi, edi
jne 0x441c47
mov dword [0x604390], edi
cmp dword [0x6043b0], edi
jbe 0x441c80
mov ecx, dword [0x6043ac]
mov edx, dword [ecx + 4]
push edx
mov ecx, 0x604394
call fcn.0043d910
mov eax, dword [0x6043ac]
mov dword [eax + 4], eax
mov dword [0x6043b0], edi
mov eax, dword [0x6043ac]
mov dword [eax], eax
mov eax, dword [0x6043ac]
mov dword [eax + 8], eax
mov dword [ebp - 0x105c], edi
cmp esi, edi
jle 0x442365
mov edi, edi
mov ecx, 0x5ff398
mov eax, dword [0x5ff398]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x1088], eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x105c]
push eax
push str.host_d
lea edi, [ebp - 0x1088]
call fcn.00402e20
add esp, 8
mov ecx, dword [ebp - 0x106c]
push ecx
push 0x7ff
lea edx, [ebp - 0x818]
push edx
push 0x5d2b98
mov edi, dword [ebp - 0x1088]
push edi
push str.host_redirect
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x441cf9
jmp 0x44232c
lea ecx, [ebp - 0x1024]
push ecx
lea ecx, [ebp - 0x818]
call fcn.00402fe0
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x1024]
cmp dword [eax - 0xc], 0
jl 0x442306
push 0x5d2d48
push eax
call fcn.004a4912
add esp, 8
test eax, eax
je 0x442306
sub eax, dword [ebp - 0x1024]
cmp eax, 0xffffffff
je 0x442306
lea edx, [ebp - 0x1050]
push edx
call fcn.00462370
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x1084]
push eax
call fcn.0040bb10
mov bl, 0x17
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1050]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x1090], esp
push edx
mov ecx, 0x5d2d48
call fcn.00402fe0
mov byte [ebp - 4], 0x18
push ecx
mov dword [ebp - 0x1060], esp
mov esi, esp
mov dword [ebp - 0x1054], esi
mov eax, dword [ebp - 0x1024]
add eax, 0xfffffff0
call fcn.004066f0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], bl
lea esi, [ebp - 0x1084]
call fcn.0040bd40
mov edx, dword [ebp - 0x1040]
mov eax, edx
mov ecx, dword [ebp - 0x1044]
sub eax, ecx
sar eax, 2
cmp eax, 2
jb 0x4422bf
test eax, eax
ja 0x441de9
call fcn.004a35f3
mov edx, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x4422bf
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
ja 0x441e12
call fcn.004a35f3
mov edx, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx + 4]
cmp dword [eax - 0xc], 0
je 0x4422bf
sub edx, ecx
sar edx, 2
cmp edx, 1
ja 0x441e34
call fcn.004a35f3
mov ecx, dword [ebp - 0x1044]
lea ebx, [ecx + 4]
call fcn.00406560
mov edi, eax
call fcn.00406480
push ecx
mov ecx, esp
mov dword [ebp - 0x1054], esp
push eax
push ecx
call fcn.00406380
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x1040]
sub edx, dword [ebp - 0x1044]
sar edx, 2
test edx, edx
ja 0x441e6f
call fcn.004a35f3
mov ebx, dword [ebp - 0x1044]
call fcn.00406560
mov edi, eax
call fcn.00406480
push ecx
mov ecx, esp
mov dword [ebp - 0x1060], esp
push eax
push ecx
call fcn.00406380
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x10b8]
push edx
mov byte [ebp - 4], 0x17
call fcn.0043a510
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x1074]
push ecx
mov ecx, eax
call fcn.0043a230
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x1074]
push edx
lea eax, [ebp - 0x10c4]
push eax
mov ebx, 0x604394
call fcn.00437130
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x1074]
push ecx
call fcn.00436a00
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x10b8]
push edx
call fcn.00436a00
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
test eax, eax
ja 0x441f0e
call fcn.004a35f3
mov ebx, dword [ebp - 0x1044]
call fcn.00406560
mov edi, eax
call fcn.00406480
mov esi, eax
mov ecx, dword [ebp - 0x1040]
sub ecx, dword [ebp - 0x1044]
sar ecx, 2
cmp ecx, 1
ja 0x441f3b
call fcn.004a35f3
mov ebx, dword [ebp - 0x1044]
add ebx, 4
call fcn.00406560
mov edi, eax
call fcn.00406480
push 0x6043b4
mov ecx, eax
call fcn.00444840
mov ebx, eax
mov eax, esi
call fcn.00406760
mov edx, dword [ebp - 0x1040]
sub edx, dword [ebp - 0x1044]
sar edx, 2
test edx, edx
ja 0x441f7d
call fcn.004a35f3
mov ebx, dword [ebp - 0x1044]
call fcn.00406560
mov edi, eax
call fcn.00406480
push eax
lea eax, [ebp - 0x108c]
push eax
call fcn.00406380
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x1040]
sub ecx, dword [ebp - 0x1044]
sar ecx, 2
cmp ecx, 1
ja 0x441fb9
call fcn.004a35f3
mov ebx, dword [ebp - 0x1044]
add ebx, 4
call fcn.00406560
mov edi, eax
call fcn.00406480
push eax
lea edx, [ebp - 0x1058]
push edx
call fcn.00406380
mov byte [ebp - 4], 0x22
mov eax, dword [0x6041e4]
sub eax, dword [0x6041e0]
test eax, 0xfffffffc
je 0x4420cf
lea ecx, [ebp - 0x1050]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x1054], esp
push edx
mov ecx, 0x5d54bc
call fcn.00402fe0
mov byte [ebp - 4], 0x23
push ecx
mov eax, esp
mov dword [ebp - 0x1060], esp
lea ecx, [ebp - 0x108c]
push ecx
push eax
call fcn.00406380
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0x22
lea esi, [ebp - 0x1084]
call fcn.0040bd40
mov edx, dword [ebp - 0x1040]
sub edx, dword [ebp - 0x1044]
sar edx, 2
test edx, edx
ja 0x442055
call fcn.004a35f3
mov eax, dword [ebp - 0x1044]
mov ecx, dword [eax]
call fcn.0043f320
lea ecx, [ebp - 0x1050]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x1054], esp
push edx
mov ecx, 0x5d54bc
call fcn.00402fe0
mov byte [ebp - 4], 0x25
push ecx
mov eax, esp
mov dword [ebp - 0x1060], esp
lea ecx, [ebp - 0x1058]
push ecx
push eax
call fcn.00406380
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0x22
lea esi, [ebp - 0x1084]
call fcn.0040bd40
mov edx, dword [ebp - 0x1040]
sub edx, dword [ebp - 0x1044]
sar edx, 2
test edx, edx
ja 0x4420c2
call fcn.004a35f3
mov eax, dword [ebp - 0x1044]
mov ecx, dword [eax]
call fcn.0043f320
xor edi, edi
mov eax, dword [0x604244]
sub eax, dword [0x604240]
sar eax, 2
test eax, eax
jle 0x44221f
cmp edi, eax
jb 0x4420f0
call fcn.004a35f3
mov ecx, dword [0x604240]
lea esi, [ecx + edi*4]
lea edx, [ebp - 0x1028]
push edx
mov ecx, str.http:__
call fcn.00402fe0
mov bl, 0x27
mov byte [ebp - 4], bl
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
lea edx, [ebp - 0x10b0]
push edx
lea edx, [ebp - 0x108c]
call fcn.00408930
mov byte [ebp - 4], 0x28
mov eax, dword [eax]
mov edx, dword [eax - 0xc]
push eax
lea eax, [ebp - 0x1028]
push eax
call fcn.00403150
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x10b0]
push ecx
call fcn.00403090
push 0x5d54e8
lea edx, [ebp - 0x1028]
push edx
mov edx, 1
call fcn.00403150
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x4423e0
push esi
mov eax, dword [ebp - 0x1028]
push eax
call fcn.004a47ba
add esp, 8
test eax, eax
je 0x4421af
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
inc edi
mov eax, dword [0x604244]
sub eax, dword [0x604240]
sar eax, 2
cmp edi, eax
jl 0x4420e9
jmp 0x44221f
lea edx, [ebp - 0x1068]
push edx
lea ecx, [ebp - 0x1058]
mov edx, str.http:__
call fcn.0041ec60
add esp, 4
mov byte [ebp - 4], 0x29
push 0x5d54e8
lea ecx, [ebp - 0x1038]
push ecx
mov ecx, eax
call fcn.0040a9e0
add esp, 8
mov byte [ebp - 4], 0x2b
lea edx, [ebp - 0x1068]
push edx
call fcn.00403090
lea ebx, [ebp - 0x1038]
mov edi, 0x604234
call fcn.0040a8f0
mov byte [ebp - 4], 0x27
mov eax, ebx
push eax
call fcn.00403090
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x1058]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x442245
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x108c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44226b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1050]
push ecx
call fcn.0040ac80
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x1024]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4422b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x1088]
add eax, 0xfffffff0
jmp 0x442333
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1050]
push ecx
call fcn.0040ac80
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x1024]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x442304
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x44232c
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x1024]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44232c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44234c
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x105c]
inc eax
mov dword [ebp - 0x105c], eax
cmp eax, dword [ebp - 0x1034]
jl 0x441c90
mov eax, dword [0x6041e4]
mov edi, eax
mov esi, dword [0x6041e0]
cmp esi, eax
jbe 0x442386
call fcn.004a35f3
mov eax, dword [0x6041e4]
mov esi, dword [0x6041e0]
mov ebx, dword [0x6041d4]
cmp esi, eax
jbe 0x442395
call fcn.004a35f3
test ebx, ebx
je 0x4423a1
cmp ebx, dword [0x6041d4]
je 0x4423a6
call fcn.004a35f3
mov eax, edi
sub eax, esi
sar eax, 2
push eax
push edi
push esi
call fcn.0041f3e0
add esp, 0xc
push 4
call fcn.004a3245
add esp, 4
mov dword [ebp - 0x1054], eax
mov dword [ebp - 0x1060], eax
mov byte [ebp - 4], 0x33
test eax, eax
je 0x4423ea
lea ecx, [ebp - 0x10ac]
mov dword [eax], ecx
jmp 0x4423ec
push 0x80004005
call fcn.00401e70
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x10ac], eax
mov byte [ebp - 4], 0x35
xor edi, edi
mov dword [ebp - 0x10a0], edi
mov dword [ebp - 0x109c], edi
mov dword [ebp - 0x1098], edi
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x10ac]
push edx
push str.proxy_hosts_forbidden
mov eax, dword [ebp - 0x101c]
push eax
call fcn.0043f6b0
add esp, 0xc
mov eax, dword [ebp - 0x109c]
sub eax, dword [ebp - 0x10a0]
sar eax, 2
cmp edi, eax
jae 0x442496
mov ecx, dword [ebp - 0x10a0]
mov ecx, dword [ecx + edi*4]
call fcn.0043f330
mov edx, dword [ebp - 0x109c]
sub edx, dword [ebp - 0x10a0]
sar edx, 2
cmp edi, edx
jb 0x442466
call fcn.004a35f3
mov eax, dword [ebp - 0x10a0]
mov ecx, dword [eax + edi*4]
push ecx
push str.forbidden_host:__s
mov esi, 0x602250
call fcn.00409e30
add esp, 8
inc edi
mov eax, dword [ebp - 0x109c]
sub eax, dword [ebp - 0x10a0]
sar eax, 2
cmp edi, eax
jb 0x442440
mov ecx, dword [0x6041fc]
mov ebx, ecx
mov eax, dword [0x6041f8]
cmp eax, ecx
jbe 0x4424b7
call fcn.004a35f3
mov ecx, dword [0x6041fc]
mov eax, dword [0x6041f8]
mov edi, dword [0x6041ec]
mov esi, eax
cmp eax, ecx
jbe 0x4424c8
call fcn.004a35f3
test edi, edi
je 0x4424d4
cmp edi, dword [0x6041ec]
je 0x4424d9
call fcn.004a35f3
mov eax, ebx
sub eax, esi
sar eax, 2
push eax
push ebx
push esi
call fcn.0041f3e0
add esp, 0xc
xor esi, esi
cmp dword [0x6042e0], esi
je 0x442549
mov eax, dword [0x6042dc]
mov edi, dword [eax + 4]
mov esi, edi
cmp byte [edi + 0x11], 0
jne 0x44252b
mov edx, dword [esi + 8]
push edx
mov ecx, 0x6042c4
call fcn.00445d30
mov esi, dword [esi]
push edi
call fcn.004a3142
add esp, 4
mov edi, esi
cmp byte [esi + 0x11], 0
je 0x442505
mov eax, dword [0x6042dc]
mov dword [eax + 4], eax
mov dword [0x6042e0], 0
mov eax, dword [0x6042dc]
mov dword [eax], eax
mov eax, dword [0x6042dc]
mov dword [eax + 8], eax
xor esi, esi
push 4
call fcn.004a3245
add esp, 4
mov dword [ebp - 0x1054], eax
mov dword [ebp - 0x1060], eax
mov byte [ebp - 4], 0x38
cmp eax, esi
je 0x442571
lea ecx, [ebp - 0x1050]
mov dword [eax], ecx
jmp 0x442573
xor eax, eax
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x1050], eax
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0x1044], esi
mov dword [ebp - 0x1040], esi
mov dword [ebp - 0x103c], esi
mov byte [ebp - 4], 0x3c
lea edx, [ebp - 0x1050]
push edx
push str.proxy_ips
mov eax, dword [ebp - 0x101c]
push eax
call fcn.0043f6b0
add esp, 0xc
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
cmp esi, eax
jae 0x44260c
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx + esi*4]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1034], eax
cmp eax, 0xffffffff
je 0x4425f8
lea edx, [ebp - 0x1034]
push edx
lea eax, [ebp - 0x10c4]
push eax
mov ebx, 0x6042c4
call fcn.00498ef0
inc esi
mov eax, dword [ebp - 0x1040]
sub eax, dword [ebp - 0x1044]
sar eax, 2
cmp esi, eax
jb 0x4425c5
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x1050]
push ecx
call fcn.0040ac80
mov edx, dword [ebp - 0x1020]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
push 0x5d2b98
push str.controlip
push str.server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x818]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442650
sub eax, edx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
lea eax, [ebp - 0x102c]
call fcn.004033b0
lea ebx, [ebp - 0x102c]
call fcn.00406560
mov edi, eax
call fcn.00406480
mov edx, dword [ebp - 0x102c]
cmp dword [edx - 0xc], 0
je 0x44270e
mov ecx, dword [0x6043f0]
mov eax, ecx
mov esi, dword [0x6043ec]
sub eax, esi
sar eax, 2
test esi, esi
je 0x4426e4
mov edx, dword [0x6043f4]
sub edx, esi
sar edx, 2
cmp eax, edx
jae 0x4426e4
mov esi, ecx
mov byte [ebp - 0x1034], 0
mov eax, dword [ebp - 0x1034]
push eax
mov edx, dword [ebp - 0x1054]
push edx
push 1
push ecx
mov ecx, ebx
call fcn.0040a240
add esp, 0x10
add esi, 4
mov dword [0x6043f0], esi
jmp 0x44270e
mov edi, ecx
cmp esi, ecx
jbe 0x4426ef
call fcn.004a35f3
mov eax, dword [0x6043e0]
push edi
push eax
lea eax, [ebp - 0x102c]
push eax
lea ecx, [ebp - 0x10b8]
push ecx
mov eax, 0x6043e0
call fcn.0040a840
mov edx, dword [ebp - 0x1020]
push edx
push 0
push str.count
push str.allip
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call edi
mov dword [ebp - 0x1068], eax
xor esi, esi
test eax, eax
jle 0x442864
push esi
push str.ip_d
lea edi, [ebp - 0x1030]
call fcn.00402e20
push 0x800
push 0
lea eax, [ebp - 0x818]
push eax
call fcn.004add60
add esp, 0x14
mov ecx, dword [ebp - 0x1020]
push ecx
push 0x7ff
lea edx, [ebp - 0x818]
push edx
push 0x5d2b98
mov eax, dword [ebp - 0x1030]
push eax
push str.allip
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x818]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442793
sub eax, edx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
lea eax, [ebp - 0x102c]
call fcn.004033b0
lea ebx, [ebp - 0x102c]
call fcn.00406560
mov edi, eax
call fcn.00406480
mov edx, dword [ebp - 0x102c]
cmp dword [edx - 0xc], 0
je 0x442851
mov ecx, dword [0x6043f0]
mov eax, ecx
mov edi, dword [0x6043ec]
sub eax, edi
sar eax, 2
test edi, edi
je 0x442827
mov edx, dword [0x6043f4]
sub edx, edi
sar edx, 2
cmp eax, edx
jae 0x442827
mov edi, ecx
mov byte [ebp - 0x1034], 0
mov eax, dword [ebp - 0x1034]
push eax
mov edx, dword [ebp - 0x1054]
push edx
push 1
push ecx
mov ecx, ebx
call fcn.0040a240
add esp, 0x10
add edi, 4
mov dword [0x6043f0], edi
jmp 0x442851
mov ebx, ecx
cmp edi, ecx
jbe 0x442832
call fcn.004a35f3
mov eax, dword [0x6043e0]
push ebx
push eax
lea eax, [ebp - 0x102c]
push eax
lea ecx, [ebp - 0x10b8]
push ecx
mov eax, 0x6043e0
call fcn.0040a840
inc esi
cmp esi, dword [ebp - 0x1068]
jl 0x442739
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x603db0]
push eax
push str.port
push str.server
call edi
mov dword [0x603db0], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x6041c0]
push edx
push str.authbasic
push str.server
call edi
mov dword [0x6041c0], eax
mov eax, dword [ebp - 0x1020]
push eax
push 0x7ff
lea ecx, [ebp - 0x818]
push ecx
push 0x5d2b98
push str.authpasswd
push str.server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x818]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4428d2
sub eax, edx
jne 0x4428f3
push 0x5d2b98
xor edi, edi
mov eax, 0x6041bc
call fcn.004033b0
jmp 0x442a25
push ecx
mov edx, esp
mov dword [ebp - 0x1054], esp
push edx
lea ecx, [ebp - 0x818]
call fcn.00402fe0
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x105c]
push eax
mov byte [ebp - 4], 0x36
call fcn.0043fb10
add esp, 8
mov byte [ebp - 4], 0x3e
cmp dword [0x6041c0], 1
jne 0x44294a
mov ecx, dword [ebp - 0x105c]
push ecx
push str.admin:_s
mov edi, 0x6041bc
call fcn.00402e20
add esp, 8
jmp 0x4429ff
mov eax, dword [ebp - 0x105c]
lea edi, [eax - 0x10]
mov esi, dword [0x6041bc]
add esi, 0xfffffff0
cmp edi, esi
je 0x4429ff
cmp dword [esi + 0xc], 0
jl 0x4429f1
mov ecx, dword [edi]
cmp ecx, dword [esi]
jne 0x4429f1
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
lea ecx, [edi + 0xc]
cmp dword [ecx], 0
jl 0x442998
cmp eax, dword [edi]
jne 0x442998
mov ebx, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4429cd
mov edx, dword [eax]
push 1
mov ecx, dword [edi + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov ebx, eax
test ebx, ebx
jne 0x4429b1
call fcn.00403300
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
mov eax, dword [edi + 4]
inc eax
push eax
add edi, 0x10
push edi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.004a31ad
add esp, 0x10
lea eax, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4429e6
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
mov edx, dword [eax + 4]
call edx
add ebx, 0x10
mov dword [0x6041bc], ebx
jmp 0x4429ff
mov edi, dword [eax - 0xc]
push eax
mov eax, 0x6041bc
call fcn.004033b0
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x105c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442a25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1020]
push ecx
push 0x7ff
lea edx, [ebp - 0x818]
push edx
push str.temp
push str.cacheroot
push str.server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [ebp - 0x818]
lea esi, [ebp - 0x1034]
call fcn.004065f0
mov byte [ebp - 4], 0x40
mov eax, dword [eax]
lea esi, [eax - 0x10]
mov ebx, dword [0x603dfc]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x442b13
cmp dword [ebx + 0xc], 0
jl 0x442b05
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x442b05
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
lea ecx, [esi + 0xc]
cmp dword [ecx], 0
jl 0x442aac
cmp eax, dword [esi]
jne 0x442aac
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x442ae1
mov edx, dword [eax]
push 1
mov ecx, dword [esi + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov edi, eax
test edi, edi
jne 0x442ac5
call fcn.00403300
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.004a31ad
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x442afa
mov ecx, dword [ebx]
mov eax, dword [ecx]
push ebx
mov edx, dword [eax + 4]
call edx
add edi, 0x10
mov dword [0x603dfc], edi
jmp 0x442b13
mov edi, dword [eax - 0xc]
push eax
mov eax, 0x603dfc
call fcn.004033b0
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1034]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442b39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [0x603dfc]
mov edx, dword [eax - 0xc]
lea ecx, [edx - 1]
test ecx, ecx
jl 0x444021
cmp ecx, edx
jg 0x444021
mov cl, byte [eax + ecx]
cmp cl, 0x5c
jne 0x442c51
mov eax, edx
lea ecx, [eax - 1]
lea edx, [ebp - 0x1034]
push edx
mov edx, 0x603dfc
call fcn.00408930
mov byte [ebp - 4], 0x42
mov eax, dword [eax]
lea esi, [eax - 0x10]
mov ebx, dword [0x603dfc]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x442c2b
cmp dword [ebx + 0xc], 0
jl 0x442c1d
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x442c1d
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
lea ecx, [esi + 0xc]
cmp dword [ecx], 0
jl 0x442bc4
cmp eax, dword [esi]
jne 0x442bc4
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x442bf9
mov edx, dword [eax]
push 1
mov ecx, dword [esi + 4]
push ecx
mov ecx, eax
mov edx, dword [edx]
call edx
mov edi, eax
test edi, edi
jne 0x442bdd
call fcn.00403300
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.004a31ad
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x442c12
mov ecx, dword [ebx]
mov eax, dword [ecx]
push ebx
mov edx, dword [eax + 4]
call edx
add edi, 0x10
mov dword [0x603dfc], edi
jmp 0x442c2b
mov edi, dword [eax - 0xc]
push eax
mov eax, 0x603dfc
call fcn.004033b0
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1034]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x442c51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1020]
push ecx
push 0xffffffffffffffff
push str.proxySwitch
push str.proxy_auth
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call esi
mov dword [0x604340], eax
cmp eax, 0xffffffff
jne 0x442c9e
mov edx, dword [ebp - 0x1020]
push edx
push 0x5d70d8
push str.proxySwitch
push str.proxy_auth
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov dword [0x604340], 1
jmp 0x442ca2
test eax, eax
je 0x442cc7
mov byte [ebp - 4], 0x44
call fcn.00440520
mov dword [ebp - 4], 0x36
jmp 0x442cc7
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x6041a0]
push ecx
push str.is_can_connect
push str.server
call esi
mov dword [0x6041a0], eax
mov edx, dword [ebp - 0x1020]
push edx
push eax
push str.is_can_connect
push str.server
call esi
mov dword [0x6041a0], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x604354]
push ecx
push str.type
push str.ip_filter
call esi
mov dword [0x604354], eax
test eax, eax
je 0x4430fe
mov edx, dword [ebp - 0x1020]
push edx
push 0
push str.count
push str.ip_filter
call esi
mov ebx, eax
mov dword [ebp - 0x1034], ebx
test ebx, ebx
jne 0x442d4c
mov dword [0x604354], eax
mov eax, dword [ebp - 0x101c]
push eax
push 0x7ff
lea ecx, [ebp - 0x818]
push ecx
push str.no_allow.html
push str.index
push str.ip_filter
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x818]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442d80
sub eax, edx
lea edx, [ebp - 0x818]
push edx
mov edi, eax
mov eax, 0x604370
call fcn.004033b0
xor edi, edi
mov dword [ebp - 0x1038], edi
test ebx, ebx
jle 0x4430fe
mov ecx, 0x5ff398
mov eax, dword [0x5ff398]
mov edx, dword [eax + 0xc]
call edx
add eax, 0x10
mov dword [ebp - 0x1024], eax
mov byte [ebp - 4], 0x47
push edi
push str.ip_d
lea edi, [ebp - 0x1024]
call fcn.00402e20
add esp, 8
mov eax, dword [ebp - 0x1020]
push eax
push 0x7ff
lea ecx, [ebp - 0x818]
push ecx
push 0x5d2b98
mov edx, dword [ebp - 0x1024]
push edx
push str.ip_filter
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x442e16
mov byte [ebp - 4], 0x36
mov eax, edi
push eax
jmp 0x4430e0
lea ecx, [ebp - 0x1028]
push ecx
lea ecx, [ebp - 0x818]
call fcn.00402fe0
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x1028]
cmp dword [ecx - 0xc], 0
jl 0x443075
push 0x5d56f4
push ecx
call fcn.004a4912
add esp, 8
mov ecx, dword [ebp - 0x1028]
test eax, eax
je 0x443075
sub eax, ecx
cmp eax, 0xffffffff
je 0x443075
lea edx, [ebp - 0x1050]
push edx
call fcn.00462370
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0x1084]
push eax
call fcn.0040bb10
mov bl, 0x4a
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1050]
push ecx
push ecx
mov edx, esp
mov dword [ebp - 0x1054], esp
push edx
mov ecx, 0x5d56f4
call fcn.00402fe0
mov byte [ebp - 4], 0x4b
push ecx
mov eax, esp
mov dword [ebp - 0x1060], esp
lea ecx, [ebp - 0x1028]
push ecx
push eax
call fcn.00406380
mov byte [ebp - 4], 0x4c
mov byte [ebp - 4], bl
lea esi, [ebp - 0x1084]
call fcn.0040bd40
mov edx, dword [ebp - 0x1040]
mov eax, edx
mov ecx, dword [ebp - 0x1044]
sub eax, ecx
sar eax, 2
cmp eax, 2
jb 0x44302e
test eax, eax
ja 0x442efc
call fcn.004a35f3
mov edx, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x44302e
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
ja 0x442f25
call fcn.004a35f3
mov edx, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx + 4]
cmp dword [eax - 0xc], 0
je 0x44302e
sub edx, ecx
sar edx, 2
test edx, edx
ja 0x442f46
call fcn.004a35f3
mov ecx, dword [ebp - 0x1044]
mov ecx, dword [ecx]
push ecx
mov edi, dword [sym.imp.WS2_32.dll_inet_addr]
call edi
mov esi, eax
mov ecx, dword [ebp - 0x1040]
sub ecx, dword [ebp - 0x1044]
sar ecx, 2
cmp ecx, 1
ja 0x442f6c
call fcn.004a35f3
mov edx, dword [ebp - 0x1044]
mov eax, dword [edx + 4]
push eax
call edi
mov edi, eax
cmp esi, 0xffffffff
je 0x44302e
cmp edi, 0xffffffff
je 0x44302e
push esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
call esi
mov ebx, eax
mov dword [ebp - 0x1074], ebx
push edi
call esi
mov dword [ebp - 0x1070], eax
cmp ebx, eax
jbe 0x442ff4
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x1050]
push eax
call fcn.0040ac80
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x1024]
push edx
call fcn.00403090
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
jmp 0x4430e5
lea ebx, [ebp - 0x1074]
mov edi, 0x604358
call fcn.004447d0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x1050]
push eax
call fcn.0040ac80
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
jmp 0x4430c5
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x1050]
push ecx
call fcn.0040ac80
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0x1028]
push edx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x1024]
push eax
call fcn.00403090
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
jmp 0x4430e5
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x44309e
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x1024]
push edx
jmp 0x4430e0
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], 0
lea ebx, [ebp - 0x1094]
mov edi, 0x604358
call fcn.004447d0
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x1028]
push eax
call fcn.00403090
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x1024]
push ecx
call fcn.00403090
mov edi, dword [ebp - 0x1038]
inc edi
mov dword [ebp - 0x1038], edi
cmp edi, dword [ebp - 0x1034]
jl 0x442dac
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x603e10]
push eax
push str.cache_dump_switch
push 0x5d8140
call esi
mov dword [0x603e10], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603e14]
push edx
push str.internet_flow_speed
push 0x5d8140
call esi
mov dword [0x603e14], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e20]
push ecx
push str.intranet_flow
push 0x5d8140
call esi
mov dword [0x603e20], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603e28]
push eax
push str.connect_min
push 0x5d8140
call esi
mov dword [0x603e28], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x603e2c]
push edx
push str.connect_best
push 0x5d8140
call esi
mov dword [0x603e2c], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e30]
push ecx
push str.connect_max
push 0x5d8140
call esi
mov dword [0x603e30], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x603e14]
push eax
push str.internet_flow_speed
push 0x5d8140
call esi
mov dword [0x603e14], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x603e18]
push edx
push str.watch_net_flow_speed
push 0x5d8140
call esi
mov dword [0x603e18], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x603e1c]
push ecx
push str.enable_status_page
push 0x5d8140
call esi
mov dword [0x603e1c], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x603e24]
push eax
push str.disable_https_proxy
push 0x5d8140
call esi
mov dword [0x603e24], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x603e20]
push edx
push str.intranet_flow
push 0x5d8140
call esi
mov dword [0x603e20], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x603e28]
push ecx
push str.connect_min
push 0x5d8140
call esi
mov dword [0x603e28], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x603e2c]
push eax
push str.connect_best
push 0x5d8140
call esi
mov dword [0x603e2c], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x603e30]
push edx
push str.connect_max
push 0x5d8140
call esi
mov dword [0x603e30], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e34]
push ecx
push str.max_pass_connect_count
push 0x5d8140
call esi
mov dword [0x603e34], eax
mov edx, dword [ebp - 0x1020]
push edx
push eax
push str.max_pass_connect_count
push 0x5d8140
call esi
mov dword [0x603e34], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e3c]
push ecx
push str.mem_cache_chectk_time
push 0x5d8140
call esi
mov dword [0x603e3c], eax
mov edx, dword [ebp - 0x1020]
push edx
push eax
push str.mem_cache_chectk_time
push 0x5d8140
call esi
mov dword [0x603e3c], eax
xor ebx, ebx
mov dword [ebp - 0x1024], 0x603e44
jmp 0x443330
lea eax, [ebp - 0x1058]
push eax
call fcn.004030f0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x1028]
push ecx
call fcn.004030f0
mov byte [ebp - 4], 0x4e
push ebx
push str.local__d
lea edi, [ebp - 0x1058]
call fcn.00402e20
push ebx
push str.dest__d
lea edi, [ebp - 0x1028]
call fcn.00402e20
push 0x800
push 0
lea edx, [ebp - 0x1018]
push edx
call fcn.004add60
add esp, 0x1c
mov eax, dword [ebp - 0x1064]
push eax
push 0x7ff
lea ecx, [ebp - 0x1018]
push ecx
push 0x5d2b98
mov edx, dword [ebp - 0x1058]
push edx
push str.http_forward2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x1018]
lea edi, [eax + 1]
jmp 0x4433c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4433c0
sub eax, edi
mov ecx, dword [ebp - 0x1024]
add ecx, 0xfffffffc
lea edx, [ebp - 0x1018]
push edx
mov edi, eax
mov eax, ecx
call fcn.004033b0
push 0x800
push 0
lea eax, [ebp - 0x1018]
push eax
call fcn.004add60
add esp, 0xc
mov ecx, dword [ebp - 0x1064]
push ecx
push 0x7ff
lea edx, [ebp - 0x1018]
push edx
push 0x5d2b98
mov eax, dword [ebp - 0x1028]
push eax
push str.http_forward2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x1018]
lea edi, [eax + 1]
jmp 0x443430
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x443430
sub eax, edi
lea ecx, [ebp - 0x1018]
push ecx
mov edi, eax
mov eax, dword [ebp - 0x1024]
call fcn.004033b0
mov eax, dword [ebp - 0x1024]
add eax, 0xfffffffc
mov edx, dword [eax]
cmp dword [edx - 0xc], 0
je 0x4434a5
mov eax, dword [ebp - 0x1024]
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
je 0x4434a5
inc dword [0x603e90]
mov byte [ebp - 4], 0x4d
lea edx, [ebp - 0x1028]
push edx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x1058]
push eax
call fcn.00403090
inc ebx
add dword [ebp - 0x1024], 8
cmp ebx, 0xa
jb 0x443330
jmp 0x4434c5
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x1058]
push edx
call fcn.00403090
mov dword [ebp - 0x105c], 0
mov dword [ebp - 0x1024], 0x603e98
lea esp, [esp]
lea eax, [ebp - 0x1028]
push eax
call fcn.004030f0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x1058]
push ecx
call fcn.004030f0
mov byte [ebp - 4], 0x50
mov ebx, dword [ebp - 0x105c]
push ebx
push str.local__d
lea edi, [ebp - 0x1028]
call fcn.00402e20
push ebx
push str.dest__d
lea edi, [ebp - 0x1058]
call fcn.00402e20
push 0x800
push 0
lea edx, [ebp - 0x1018]
push edx
call fcn.004add60
add esp, 0x1c
mov eax, dword [ebp - 0x1064]
push eax
push 0x7ff
lea ecx, [ebp - 0x1018]
push ecx
push 0x5d2b98
mov edx, dword [ebp - 0x1028]
push edx
push str.http_forward
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x1018]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x443571
sub eax, ecx
mov ebx, dword [ebp - 0x1024]
add ebx, 0xfffffffc
lea ecx, [ebp - 0x1018]
push ecx
mov edi, eax
mov eax, ebx
call fcn.004033b0
push 0x800
push 0
lea edx, [ebp - 0x1018]
push edx
call fcn.004add60
add esp, 0xc
mov eax, dword [ebp - 0x1064]
push eax
push 0x7ff
lea ecx, [ebp - 0x1018]
push ecx
push 0x5d2b98
mov edx, dword [ebp - 0x1058]
push edx
push str.http_forward
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x1018]
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4435e0
sub eax, edi
lea ecx, [ebp - 0x1018]
push ecx
mov edi, eax
mov eax, dword [ebp - 0x1024]
call fcn.004033b0
mov edx, dword [ebx]
cmp dword [edx - 0xc], 0
je 0x443658
mov eax, dword [ebp - 0x1024]
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
je 0x443658
inc dword [0x603f34]
mov byte [ebp - 4], 0x4f
lea edx, [ebp - 0x1058]
push edx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x1028]
push eax
call fcn.00403090
mov eax, dword [ebp - 0x105c]
inc eax
mov dword [ebp - 0x105c], eax
add dword [ebp - 0x1024], 8
cmp eax, 0x14
jb 0x4434e0
jmp 0x443678
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x1058]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x1028]
push edx
call fcn.00403090
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x604194]
push ecx
push str.max_mem_cache_size
push 0x5d8140
call esi
mov dword [0x604194], eax
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x604198]
push eax
push str.max_cache_file_size
push 0x5d8140
call esi
mov dword [0x604198], eax
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [0x60419c]
push edx
push str.default_file_cache_timeout
push 0x5d8140
call esi
mov dword [0x60419c], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x604194]
push ecx
push str.max_mem_cache_size
push 0x5d8140
call esi
mov dword [0x604194], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x604198]
push eax
push str.max_cache_file_size
push 0x5d8140
call esi
mov dword [0x604198], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x60419c]
push edx
push str.default_file_cache_timeout
push 0x5d8140
call esi
mov dword [0x60419c], eax
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [0x603e38]
push ecx
push str.local_file_expire_time
push 0x5d8140
call esi
mov dword [0x603e38], eax
mov edx, dword [ebp - 0x1020]
push edx
push eax
push str.local_file_expire_time
push 0x5d8140
call esi
mov dword [0x603e38], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x604374]
push ecx
push str.type
push str.ip_filter_except
call esi
mov dword [0x604374], eax
xor edi, edi
cmp eax, edi
je 0x443b11
mov ecx, dword [0x604354]
cmp eax, ecx
je 0x4437a1
mov dword [0x604374], ecx
mov edx, dword [ebp - 0x1020]
push edx
push edi
push str.count
push str.ip_filter_except
call esi
mov dword [ebp - 0x1034], eax
cmp eax, edi
jne 0x4437c5
mov dword [0x604374], edi
mov dword [ebp - 0x1038], edi
cmp eax, edi
jle 0x443b11
lea eax, [ebp - 0x1024]
push eax
call fcn.004030f0
mov byte [ebp - 4], 0x51
push edi
push str.ip_d
lea edi, [ebp - 0x1024]
call fcn.00402e20
add esp, 8
mov ecx, dword [ebp - 0x1020]
push ecx
push 0x7ff
lea edx, [ebp - 0x818]
push edx
push 0x5d2b98
mov eax, dword [ebp - 0x1024]
push eax
push str.ip_filter_except
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x443ae8
lea edx, [ebp - 0x1028]
push edx
lea ecx, [ebp - 0x818]
call fcn.00402fe0
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x1028]
cmp dword [ecx - 0xc], 0
jl 0x443a88
push 0x5d56f4
push ecx
call fcn.004a4912
add esp, 8
mov ecx, dword [ebp - 0x1028]
test eax, eax
je 0x443a88
sub eax, ecx
cmp eax, 0xffffffff
je 0x443a88
lea eax, [ebp - 0x1050]
push eax
call fcn.00462370
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x1084]
push ecx
call fcn.0040bb10
mov bl, 0x54
mov byte [ebp - 4], bl
lea edx, [ebp - 0x1050]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x1054], esp
push eax
mov ecx, 0x5d56f4
call fcn.00402fe0
mov byte [ebp - 4], 0x55
push ecx
mov ecx, esp
mov dword [ebp - 0x1060], esp
lea edx, [ebp - 0x1028]
push edx
push ecx
call fcn.00406380
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], bl
lea esi, [ebp - 0x1084]
call fcn.0040bd40
mov edx, dword [ebp - 0x1040]
mov eax, edx
mov ecx, dword [ebp - 0x1044]
sub eax, ecx
sar eax, 2
cmp eax, 2
jb 0x443a41
test eax, eax
ja 0x44390f
call fcn.004a35f3
mov edx, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x443a41
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
ja 0x443938
call fcn.004a35f3
mov edx, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ecx + 4]
cmp dword [eax - 0xc], 0
je 0x443a41
sub edx, ecx
sar edx, 2
test edx, edx
ja 0x443959
call fcn.004a35f3
mov ecx, dword [ebp - 0x1044]
mov ecx, dword [ecx]
push ecx
mov edi, dword [sym.imp.WS2_32.dll_inet_addr]
call edi
mov esi, eax
mov ecx, dword [ebp - 0x1040]
sub ecx, dword [ebp - 0x1044]
sar ecx, 2
cmp ecx, 1
ja 0x44397f
call fcn.004a35f3
mov edx, dword [ebp - 0x1044]
mov eax, dword [edx + 4]
push eax
call edi
mov edi, eax
cmp esi, 0xffffffff
je 0x443a41
cmp edi, 0xffffffff
je 0x443a41
push esi
mov ebx, dword [sym.imp.WS2_32.dll_ntohl]
call ebx
mov esi, eax
mov dword [ebp - 0x1074], esi
push edi
call ebx
mov dword [ebp - 0x1070], eax
cmp esi, eax
jbe 0x443a07
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x1050]
push eax
call fcn.0040ac80
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x1024]
push edx
call fcn.00403090
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
jmp 0x443af8
lea ebx, [ebp - 0x1074]
mov edi, 0x604378
call fcn.004447d0
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x1050]
push eax
call fcn.0040ac80
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
jmp 0x443ad8
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x1084]
call fcn.0040bbf0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x1050]
push ecx
call fcn.0040ac80
mov byte [ebp - 4], 0x51
lea edx, [ebp - 0x1028]
push edx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x1024]
push eax
call fcn.00403090
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
jmp 0x443af8
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x443ab1
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x1028]
push ecx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0x1024]
push edx
jmp 0x443af3
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], 0
lea ebx, [ebp - 0x1094]
mov edi, 0x604378
call fcn.004447d0
mov byte [ebp - 4], 0x51
lea eax, [ebp - 0x1028]
push eax
call fcn.00403090
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x1024]
push ecx
call fcn.00403090
mov edi, dword [ebp - 0x1038]
inc edi
mov dword [ebp - 0x1038], edi
cmp edi, dword [ebp - 0x1034]
jl 0x4437d3
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x6041a0]
push eax
push str.is_can_connect
push str.server
call esi
mov dword [0x6041a0], eax
mov ecx, dword [ebp - 0x1020]
push ecx
push eax
push str.is_can_connect
push str.server
call esi
mov dword [0x6041a0], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x6041a4]
push eax
push str.internetmode
push str.server
call esi
mov dword [0x6041a4], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x603dd0]
push edx
push str.log_p2p
push str.server
call esi
mov dword [0x603dd0], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x603df0]
push ecx
push str.log_p2p_maxsize
push str.server
call esi
mov dword [0x603df0], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x603dd8]
push eax
push str.connect_timeout
push str.server
call esi
mov dword [0x603dd8], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x604324]
push edx
push str.cache_download_thread_max
push str.server
call esi
mov dword [0x604324], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x604320]
push ecx
push str.cache_download_thread_count
push str.server
call esi
mov dword [0x604320], eax
mov ecx, dword [0x604324]
cmp eax, ecx
jbe 0x443c11
mov eax, ecx
mov dword [0x604320], eax
cmp eax, 3
jae 0x443c20
mov dword [0x604320], 3
mov edx, dword [ebp - 0x101c]
push edx
mov eax, dword [0x603e0c]
push eax
push str.download_queue_maxsize
push str.server
call esi
mov dword [0x603e0c], eax
mov ecx, dword [ebp - 0x1020]
push ecx
push eax
push str.download_queue_maxsize
push str.server
call esi
mov dword [0x603e0c], eax
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x6041c4]
push eax
push str.Autodownload
push str.PrevDownload
call esi
mov dword [0x6041c4], eax
mov ecx, dword [ebp - 0x1020]
push ecx
mov edx, dword [0x6041c8]
push edx
push str.Interval
push str.PrevDownload
call esi
mov dword [0x6041c8], eax
mov eax, dword [ebp - 0x1020]
push eax
mov ecx, dword [0x6041cc]
push ecx
push str.StarTime
push str.PrevDownload
call esi
mov dword [0x6041cc], eax
cmp eax, 0x17
jbe 0x443cc2
mov dword [0x6041cc], 0x17
mov edx, dword [ebp - 0x1020]
push edx
mov eax, dword [0x6041d0]
push eax
push str.EndTime
push str.PrevDownload
call esi
mov dword [0x6041d0], eax
cmp eax, 0x18
jbe 0x443cef
mov dword [0x6041d0], 0x18
xor esi, esi
mov dword [ebp - 0x1024], esi
mov eax, dword [0x604214]
sub eax, dword [0x604210]
sar eax, 2
test eax, eax
jg 0x443f46
push str.leak_patchs
mov edi, dword [0x603dfc]
lea esi, [ebp - 0x1034]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 0x58
lea ebx, [ebp - 0x1030]
call fcn.00406760
mov byte [ebp - 4], 0x36
mov ecx, esi
push ecx
call fcn.00403090
mov edi, 0x60421c
call fcn.0040a8f0
push 1
push ecx
mov dword [ebp - 0x1054], esp
mov edi, str.logs
mov esi, esp
call fcn.004065f0
mov byte [ebp - 4], 0x59
mov byte [ebp - 4], 0x36
call fcn.004306f0
add esp, 8
push 1
push ecx
mov edx, esp
mov dword [ebp - 0x1054], esp
push 0x603dfc
push edx
call fcn.00406380
mov byte [ebp - 4], 0x5a
mov byte [ebp - 4], 0x36
call fcn.004306f0
add esp, 8
push 1
push ecx
mov eax, esp
mov dword [ebp - 0x1054], esp
push 0x603df8
push eax
call fcn.00406380
mov byte [ebp - 4], 0x5b
mov byte [ebp - 4], 0x36
call fcn.004306f0
add esp, 8
mov ecx, dword [ebp - 0x101c]
push ecx
push 0x7ff
lea edx, [ebp - 0x818]
push edx
mov eax, dword [0x6043fc]
push eax
push str.install_replace_mark
push str.server
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call esi
lea eax, [ebp - 0x818]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x443df0
sub eax, ecx
lea ecx, [ebp - 0x818]
push ecx
mov edi, eax
mov eax, 0x6043fc
call fcn.004033b0
mov edx, dword [ebp - 0x101c]
push edx
push 0x7ff
lea eax, [ebp - 0x818]
push eax
mov ecx, dword [0x6043f8]
push ecx
push str.install_replace_format
push str.server
call esi
lea eax, [ebp - 0x818]
lea ecx, [eax + 1]
jmp 0x443e40
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x443e40
sub eax, ecx
lea edx, [ebp - 0x818]
push edx
mov edi, eax
mov eax, 0x6043f8
call fcn.004033b0
push 0x5d2c20
lea eax, [ebp - 0x1068]
push eax
mov ecx, 0x603df8
call fcn.0040a9e0
mov bl, 0x5c
mov byte [ebp - 4], bl
push 0x6041b4
lea ecx, [ebp - 0x1034]
push ecx
mov ecx, eax
call fcn.0041ebb0
mov byte [ebp - 4], 0x5d
push 0x604404
push 0x604400
push 0x6043fc
push eax
call fcn.00444270
add esp, 0x20
mov byte [ebp - 4], bl
lea edx, [ebp - 0x1034]
push edx
call fcn.00403090
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x1068]
push eax
call fcn.00403090
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x10ac]
push ecx
call fcn.0040ac80
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x106c]
push edx
call fcn.00403090
mov byte [ebp - 4], 5
lea eax, [ebp - 0x1020]
push eax
call fcn.00403090
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x102c]
push ecx
call fcn.00403090
mov byte [ebp - 4], 1
lea edx, [ebp - 0x1030]
push edx
call fcn.00403090
mov byte [ebp - 4], 0
lea eax, [ebp - 0x1064]
push eax
call fcn.00403090
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x101c]
push ecx
call fcn.00403090
mov al, 1
jmp 0x440db1
mov esi, dword [ebp - 0x1024]
cmp esi, eax
jb 0x443f4f
call fcn.004a35f3
mov ecx, dword [0x604210]
lea eax, [ecx + esi*4]
lea ebx, [ebp - 0x102c]
call fcn.00406760
call fcn.00406560
mov edi, eax
call fcn.00406480
mov ecx, dword [ebp - 0x102c]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x444021
cmp eax, eax
jg 0x444021
cmp byte [eax + ecx], 0x2f
je 0x443fa0
push 0x5d54e8
mov edx, ebx
push edx
mov edx, 1
call fcn.00403150
lea eax, [ebp - 0x1054]
push eax
lea ecx, [ebp - 0x1030]
push ecx
lea ecx, [ebp - 0x102c]
call fcn.004154c0
mov edx, dword [ebp - 0x1030]
push edx
mov edi, dword [0x603dfc]
lea esi, [ebp - 0x1034]
call fcn.0043d5a0
add esp, 0xc
mov byte [ebp - 4], 0x57
lea ebx, [ebp - 0x1030]
call fcn.00406760
mov byte [ebp - 4], 0x36
mov eax, esi
push eax
call fcn.00403090
mov edi, 0x60421c
call fcn.0040a8f0
mov ecx, dword [ebp - 0x1024]
inc ecx
mov dword [ebp - 0x1024], ecx
mov eax, dword [0x604214]
sub eax, dword [0x604210]
sar eax, 2
cmp ecx, eax
jl 0x443f40
jmp 0x443d0d
push 0x80070057
call fcn.00401e70
push eax
mov edi, dword [0x603df8]
lea esi, [ebp - 0x1034]
call fcn.0043d5a0
add esp, 4
mov byte [ebp - 4], 8
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
mov esi, dword [ebp - 0x102c]
add esi, 0xfffffff0
cmp eax, esi
je 0x44409b
lea edi, [esi + 0xc]
cmp dword [edi], 0
jl 0x44408c
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x44408c
call fcn.004066f0
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x444081
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
mov eax, dword [edx + 4]
call eax
add ebx, 0x10
mov dword [ebp - 0x102c], ebx
jmp 0x44409b
mov edi, dword [ecx - 0xc]
push ecx
lea eax, [ebp - 0x102c]
call fcn.004033b0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1034]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4440c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 4
mov ecx, dword [0x6043dc]
inc ecx
push ecx
mov edx, dword [0x6043d4]
push edx
call fcn.004a42ad
add esp, 0xc
test eax, eax
je 0x444127
mov dword [0x6043d4], eax
push 4
mov eax, dword [0x6043dc]
inc eax
push eax
mov ecx, dword [0x6043d8]
push ecx
call fcn.004a42ad
add esp, 0xc
test eax, eax
je 0x444127
mov dword [0x6043d8], eax
lea edx, [ebp - 0x102c]
push edx
lea ecx, [ebp - 0x1030]
mov edx, dword [0x6043dc]
mov edi, 0x6043d4
call fcn.00444e90
inc dword [0x6043dc]
inc dword [ebp - 0x1024]
mov esi, dword [ebp - 0x1024]
jmp 0x441540