Function at 0x413a30
Capabilities:
Check if file exists
Delete file
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x546927
mov eax, dword fs:[0]
push eax
mov eax, 0x1568
call fcn.004b8770
mov eax, dword [0x5b2390]
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
mov dword [ebp - 0x14], ecx
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
mov word [ebp - 0x22c], ax
push 0x206
push 0
lea eax, [ebp - 0x22a]
push eax
call fcn.004b7bc0
add esp, 0xc
movzx eax, word [ebp - 0x1e]
push eax
movzx ecx, word [ebp - 0x22]
push ecx
movzx edx, word [ebp - 0x24]
push edx
push 0x556018
push 0x104
lea eax, [ebp - 0x22c]
push eax
call fcn.004b7b04
add esp, 0x18
xor eax, eax
mov word [ebp - 0x434], ax
push 0x206
push 0
lea eax, [ebp - 0x432]
push eax
call fcn.004b7bc0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x434]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea eax, [ebp - 0x434]
push eax
call fcn.00401d20
add esp, 8
xor ecx, ecx
mov word [eax + 2], cx
xor eax, eax
mov word [ebp - 0x63c], ax
push 0x206
push 0
lea eax, [ebp - 0x63a]
push eax
call fcn.004b7bc0
add esp, 0xc
lea eax, [ebp - 0x434]
push eax
push str._sSoftApp.ini
lea ecx, [ebp - 0x63c]
push ecx
call fcn.0040fcd0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x844], ax
push 0x206
push 0
lea eax, [ebp - 0x842]
push eax
call fcn.004b7bc0
add esp, 0xc
lea eax, [ebp - 0x63c]
push eax
push 0x104
lea ecx, [ebp - 0x844]
push ecx
push 0x55463c
push str.LastUpdDay
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x844]
push ecx
call fcn.004bb23d
add esp, 8
xor edx, edx
test eax, eax
setl dl
mov byte [ebp - 0x845], dl
mov byte [ebp - 0x846], 0
movzx eax, byte [ebp - 0x845]
test eax, eax
je 0x413f8f
xor eax, eax
mov word [ebp - 0xa50], ax
push 0x206
push 0
lea eax, [ebp - 0xa4e]
push eax
call fcn.004b7bc0
add esp, 0xc
xor eax, eax
mov word [ebp - 0xc58], ax
push 0x206
push 0
lea eax, [ebp - 0xc56]
push eax
call fcn.004b7bc0
add esp, 0xc
lea eax, [ebp - 0x63c]
push eax
push 0x104
lea ecx, [ebp - 0xa50]
push ecx
push 0x556300
push 0x55673c
push str.AppUpdate
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x63c]
push eax
push 0x104
lea ecx, [ebp - 0xc58]
push ecx
push 0x556308
push str.MinVer
push str.AppUpdate
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov word [ebp - 0xe60], ax
push 0x206
push 0
lea eax, [ebp - 0xe5e]
push eax
call fcn.004b7bc0
add esp, 0xc
lea eax, [ebp - 0xe60]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0xe60]
push eax
lea ecx, [ebp - 0xe64]
call fcn.004048c0
mov dword [ebp - 4], 0
push str.update.xml
lea ecx, [ebp - 0xe64]
call fcn.004020c0
lea ecx, [ebp - 0xe64]
call fcn.004049e0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x413cca
lea ecx, [ebp - 0xe64]
call fcn.004049e0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push str.http:__down.wannianli365.com_update_meiren.xml
lea ecx, [ebp - 0xe68]
call fcn.00418cb0
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1564], esp
lea eax, [ebp - 0xe64]
push eax
call fcn.004048a0
mov dword [ebp - 0x1568], eax
mov ecx, dword [ebp - 0x1568]
mov dword [ebp - 0x156c], ecx
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x1560], esp
lea edx, [ebp - 0xe68]
push edx
call fcn.004048a0
mov dword [ebp - 0x1570], eax
mov byte [ebp - 4], 1
call fcn.0043d900
add esp, 8
mov byte [ebp - 0x1571], al
movzx eax, byte [ebp - 0x1571]
test eax, eax
je 0x413f6e
lea ecx, [ebp - 0xe64]
call fcn.00414dd0
push eax
lea ecx, [ebp - 0x155c]
call fcn.00414e90
mov dword [ebp - 0x1568], eax
mov eax, dword [ebp - 0x1568]
mov dword [ebp - 0x156c], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x156c]
call fcn.0041ced0
push eax
lea ecx, [ebp - 0xe70]
call fcn.0043d520
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x155c]
call fcn.00414f30
lea ecx, [ebp - 0xe70]
call fcn.0043d8d0
mov dword [ebp - 0xe74], eax
cmp dword [ebp - 0xe74], 0
je 0x413f5f
push 0x5566c4
mov eax, dword [ebp - 0xe74]
push eax
lea ecx, [ebp - 0xe70]
call fcn.0043d820
mov dword [ebp - 0xe78], eax
cmp dword [ebp - 0xe78], 0
je 0x413f5f
push str.NewVer
mov eax, dword [ebp - 0xe78]
push eax
lea ecx, [ebp - 0xe70]
call fcn.0043d820
mov dword [ebp - 0xe7c], eax
push str.NewMinVer
mov eax, dword [ebp - 0xe78]
push eax
lea ecx, [ebp - 0xe70]
call fcn.0043d820
mov dword [ebp - 0xe80], eax
cmp dword [ebp - 0xe7c], 0
je 0x413f5f
cmp dword [ebp - 0xe80], 0
je 0x413f5f
xor eax, eax
mov word [ebp - 0x1088], ax
push 0x206
push 0
lea eax, [ebp - 0x1086]
push eax
call fcn.004b7bc0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x1290], ax
push 0x206
push 0
lea eax, [ebp - 0x128e]
push eax
call fcn.004b7bc0
add esp, 0xc
mov ecx, dword [ebp - 0xe7c]
call fcn.00502250
push eax
lea ecx, [ebp - 0x14d8]
call fcn.00414ef0
mov dword [ebp - 0x1568], eax
mov esi, dword [ebp - 0x1568]
sub esp, 0x104
mov ecx, 0x41
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0x555a8c
push 0x104
lea eax, [ebp - 0x1088]
push eax
call fcn.004b7b04
add esp, 0x110
lea ecx, [ebp - 0x14d8]
call fcn.00414f30
mov ecx, dword [ebp - 0xe80]
call fcn.00502250
push eax
lea ecx, [ebp - 0x13d4]
call fcn.00414ef0
mov dword [ebp - 0x1568], eax
mov esi, dword [ebp - 0x1568]
sub esp, 0x104
mov ecx, 0x41
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0x555a8c
push 0x104
lea eax, [ebp - 0x1290]
push eax
call fcn.004b7b04
add esp, 0x110
lea ecx, [ebp - 0x13d4]
call fcn.00414f30
lea eax, [ebp - 0x1088]
push eax
lea ecx, [ebp - 0xa50]
push ecx
call fcn.004bb23d
add esp, 8
test eax, eax
jl 0x413f58
lea eax, [ebp - 0x1290]
push eax
lea ecx, [ebp - 0xc58]
push ecx
call fcn.004bb23d
add esp, 8
test eax, eax
jge 0x413f5f
mov byte [ebp - 0x846], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe70]
call fcn.0043d6b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xe68]
call fcn.00404940
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe64]
call fcn.00404940
mov al, byte [ebp - 0x846]
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.004b7b5d
mov esp, ebp
pop ebp
ret