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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42986e
mov eax, dword fs:[0]
push eax
sub esp, 0x820
mov eax, dword [0x431040]
xor eax, esp
mov dword [esp + 0x818], eax
push ebx
push esi
push edi
mov eax, dword [0x431040]
xor eax, esp
push eax
lea eax, [esp + 0x830]
mov dword fs:[0], eax
mov edi, 0x42ca50
lea esi, [esp + 0x14]
call fcn.00408040
mov dword [esp + 0x838], 0
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x418d9c
push eax
push str.360EntPublish
push 0x42ca64
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [esp + 0x838], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418d95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x4194b4
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4336f4]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ecx
push edx
push str.debug_level
push str.server
call esi
mov ecx, dword [0x4336f8]
mov dword [0x4336f4], eax
mov eax, dword [esp + 0x14]
push eax
push ecx
push str.sock_bufsize
push str.server
call esi
mov edx, dword [esp + 0x14]
push edx
mov dword [0x4336f8], eax
mov eax, dword [0x4336fc]
push eax
push str.log_http
push str.server
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x433700]
push ecx
push edx
push str.log_proxy
push str.server
mov dword [0x4336fc], eax
call esi
mov ecx, dword [0x433704]
mov dword [0x433700], eax
mov eax, dword [esp + 0x14]
push eax
push ecx
push str.log_keep_day
push str.server
call esi
mov edx, dword [esp + 0x14]
push edx
mov dword [0x433704], eax
mov eax, dword [0x433774]
push eax
push str.proxy_retry_delay
push str.server
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x433778]
push ecx
push edx
push str.proxy_cache_expire
push str.server
mov dword [0x433774], eax
call esi
mov ecx, dword [0x43377c]
mov dword [0x433778], eax
mov eax, dword [esp + 0x14]
push eax
push ecx
push str.proxy_cache_errors
push str.server
call esi
mov edx, dword [esp + 0x14]
push edx
mov dword [0x43377c], eax
mov eax, dword [0x433780]
push eax
push str.proxy_fetch
push str.server
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x433784]
push ecx
push edx
push str.proxy_fetch_conn
push str.server
mov dword [0x433780], eax
call esi
mov dword [0x433784], eax
mov ebx, 1
cmp eax, ebx
jae 0x418ed2
mov dword [0x433784], ebx
jmp 0x418ee1
cmp eax, 0xa
jbe 0x418ee1
mov dword [0x433784], 0xa
mov eax, dword [esp + 0x14]
mov ecx, dword [0x433788]
push eax
push ecx
push str.proxy_fetch_try
push str.server
call esi
mov edx, dword [esp + 0x14]
push edx
mov dword [0x433788], eax
mov eax, dword [0x43378c]
push eax
push str.cache_xml_interval
push str.server
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x433710]
push ecx
push edx
push str.cache_free_mb
push str.server
mov dword [0x43378c], eax
call esi
push 0x7ff
mov dword [0x433710], eax
lea eax, [esp + 0x29]
push 0
push eax
mov byte [esp + 0x30], 0
call fcn.0041c570
mov ecx, dword [esp + 0x20]
add esp, 0xc
push ecx
push 0x7ff
lea edx, [esp + 0x2c]
push edx
push str.html
push str.wwwroot
push str.server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
call fcn.00408040
mov byte [esp + 0x838], bl
mov ebx, 0x433708
call fcn.00402c20
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418fba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
push 0x7ff
lea edx, [esp + 0x2c]
push edx
push str.temp
push str.cacheroot
push str.proxy
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
call fcn.00408040
mov ebx, 0x43370c
mov byte [esp + 0x838], 2
call fcn.00402c20
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419025
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push ecx
mov edi, str.logs
mov esi, esp
mov dword [esp + 0x24], esp
call fcn.00408040
call fcn.0040dab0
mov eax, dword [0x43370c]
add esp, 8
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.00402bb0
add eax, 0x10
mov dword [esi], eax
call fcn.0040dab0
mov eax, dword [0x433708]
add esp, 8
push 1
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
call fcn.00402bb0
add eax, 0x10
mov dword [esi], eax
call fcn.0040dab0
mov ecx, dword [esp + 0x1c]
push str.proxy_hosts
push ecx
mov esi, 0x43372c
call fcn.00418930
mov edx, dword [0x43373c]
sub edx, dword [0x433738]
add esp, 0x10
test edx, 0xfffffffc
jne 0x419196
lea eax, [esp + 0x18]
push eax
mov ecx, str..360safe.com
call fcn.00401680
lea ebx, [esp + 0x18]
mov edi, esi
mov byte [esp + 0x838], 3
call fcn.00403950
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4190fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, str..360.cn
call fcn.00401680
lea ebx, [esp + 0x18]
mov edi, 0x43372c
mov byte [esp + 0x838], 4
call fcn.00403950
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419149
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, str..dlservice.microsoft.com
call fcn.00401680
lea ebx, [esp + 0x18]
mov edi, 0x43372c
mov byte [esp + 0x838], 5
call fcn.00403950
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419196
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push str.noexpire_urls
push ecx
mov esi, 0x433744
call fcn.00418930
mov edx, dword [esp + 0x1c]
push str.nocache_urls
push edx
mov esi, 0x43375c
call fcn.00418930
mov eax, dword [esp + 0x24]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0x10
push eax
push 0x7ff
lea ecx, [esp + 0x2c]
push ecx
push str.entlog.cab
push str.logclient
push str.server
call esi
lea eax, [esp + 0x24]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4191f0
sub eax, edx
lea edx, [esp + 0x24]
mov edi, eax
push edx
mov eax, 0x433714
call fcn.004015b0
mov eax, dword [esp + 0x14]
push eax
push 0x7ff
lea ecx, [esp + 0x2c]
push ecx
push str.EntClient.cab
push str.logaccess
push str.server
call esi
lea eax, [esp + 0x24]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419231
sub eax, ecx
lea edx, [esp + 0x24]
mov edi, eax
push edx
mov eax, 0x433718
call fcn.004015b0
mov eax, dword [esp + 0x14]
push eax
push 0x7ff
lea ecx, [esp + 0x2c]
push ecx
push str.index.html
push str.index
push str.server
call esi
lea eax, [esp + 0x24]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419272
sub eax, ecx
lea edx, [esp + 0x24]
mov edi, eax
push edx
mov eax, 0x43371c
call fcn.004015b0
mov eax, dword [esp + 0x14]
push eax
push 0x7ff
lea ecx, [esp + 0x2c]
push ecx
push str.admin
push str.admin
push str.server
call esi
lea edx, [esp + 0x1c]
push 0x42c314
push edx
mov ecx, 0x433708
call fcn.0040a130
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x24]
push edx
mov ecx, eax
mov byte [esp + 0x848], 6
call fcn.0040a130
add esp, 0x10
mov ebx, 0x433720
mov byte [esp + 0x838], 7
call fcn.00402c20
mov byte [esp + 0x838], 6
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419316
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41933e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, str.360EntPublish.ini
lea esi, [esp + 0x20]
call fcn.00408040
mov byte [esp + 0x838], 8
mov ecx, dword [esp + 0x20]
mov edx, dword [0x4336f0]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ecx
push edx
push str.port
push str.server
call esi
mov ecx, dword [0x433728]
mov dword [0x4336f0], eax
mov eax, dword [esp + 0x20]
push eax
push ecx
push str.authbasic
push str.server
call esi
mov edx, dword [esp + 0x20]
push edx
push 0x7ff
mov dword [0x433728], eax
lea eax, [esp + 0x2c]
push eax
push 0x42bddf
push str.authpasswd
push str.server
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4193c0
sub eax, edx
jne 0x4193e1
push 0x42bddf
xor edi, edi
mov eax, 0x433724
call fcn.004015b0
jmp 0x41945f
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
lea ecx, [esp + 0x2c]
call fcn.00401680
lea edx, [esp + 0x1c]
push edx
call fcn.00418ac0
add esp, 8
mov byte [esp + 0x838], 9
cmp dword [0x433728], 1
jne 0x419429
mov eax, dword [esp + 0x18]
push eax
push str.admin:_s
mov edi, 0x433724
call fcn.00404410
add esp, 8
jmp 0x419437
lea eax, [esp + 0x18]
mov ebx, 0x433724
call fcn.00402c20
mov byte [esp + 0x838], 8
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41945f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x838], 0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419487
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x838], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4194b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [esp + 0x830]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x818]
xor ecx, esp
call fcn.0041a2c9
mov esp, ebp
pop ebp
ret