Function at 0x423520
Capabilities:
Check if file exists
Delete file
Get common file path

Disassembly:
mov eax, 0x1a70
call fcn.004d9670
push ebp
push esi
lea eax, [esp + 8]
push edi
push eax
xor ebp, ebp
push str.Count
mov dword [esp + 0x18], ecx
push str.UpdateExt
mov dword [esp + 0x18], ebp
call fcn.00409e30
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xa4a]
mov word [esp + 0xa48], bp
rep stosd dword es:[edi], eax
add esp, 0xc
mov ecx, 0x514ff8
stosw word es:[edi], ax
call fcn.00407bc0
mov esi, dword [sym.imp.MSVCRT.dll__snwprintf]
push eax
lea ecx, [esp + 0xa40]
push 0x103
push ecx
call esi
lea edx, [esp + 0xa48]
push ebp
push edx
call fcn.00432970
add esp, 0x14
test eax, eax
je 0x423966
mov eax, dword [esp + 0xc]
push ebx
xor ebx, ebx
cmp eax, ebp
jbe 0x423958
mov dx, word [0x514ff0]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x42a]
mov word [esp + 0x428], dx
mov word [esp + 0x220], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x222]
mov word [esp + 0x1878], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x187a]
mov word [esp + 0xe50], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe52]
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.Name_d
lea eax, [esp + 0xe58]
push 0x103
push eax
call esi
lea ecx, [esp + 0x438]
push 0x104
lea edx, [esp + 0xe64]
push ecx
push edx
push str.UpdateExt
call fcn.00409cb0
mov ax, word [0x514ff0]
mov ecx, 0x81
mov word [esp + 0x1690], ax
xor eax, eax
lea edi, [esp + 0x1692]
add esp, 0x20
rep stosd dword es:[edi], eax
push ebx
push str.File_d
lea ecx, [esp + 0x1678]
push 0x103
push ecx
stosw word es:[edi], ax
call esi
lea edx, [esp + 0x230]
push 0x104
lea eax, [esp + 0x1684]
push edx
push eax
push str.UpdateExt
call fcn.00409cb0
mov cx, word [0x514ff0]
xor eax, eax
mov word [esp + 0x1280], cx
mov ecx, 0x81
lea edi, [esp + 0x1282]
add esp, 0x20
rep stosd dword es:[edi], eax
push ebx
push str.Version_d
lea edx, [esp + 0x1268]
push 0x103
push edx
stosw word es:[edi], ax
call esi
lea eax, [esp + 0x1888]
push 0x104
lea ecx, [esp + 0x1274]
push eax
push ecx
push str.UpdateExt
call fcn.00409cb0
mov dx, word [0x514ff0]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x85a]
mov word [esp + 0x858], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x652]
mov word [esp + 0x650], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x148a]
mov word [esp + 0x1488], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x107a]
mov word [esp + 0x1078], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x5f18c4]
push ebp
lea edx, [esp + 0x654]
push 0x104
push edx
push eax
call fcn.00432980
add esp, 0x30
lea ecx, [esp + 0x630]
lea edx, [esp + 0x1058]
push str.Extensions
push ecx
push 0x4f7858
push 0x103
push edx
call esi
add esp, 0x14
lea eax, [esp + 0x428]
lea ecx, [esp + 0x630]
lea edx, [esp + 0x838]
push eax
push str.Extensions
push ecx
push str._s_s_s_
push 0x103
push edx
call esi
add esp, 0x18
lea eax, [esp + 0x428]
lea ecx, [esp + 0x428]
lea edx, [esp + 0x630]
push eax
push ecx
push str.Extensions
push edx
push str._s_s_s_s.dll
lea eax, [esp + 0x147c]
push 0x103
push eax
call esi
lea ecx, [esp + 0x23c]
push ebp
push ecx
call fcn.00432970
add esp, 0x24
test eax, eax
je 0x42394b
lea edx, [esp + 0x838]
push 1
push edx
call fcn.00432970
add esp, 8
test eax, eax
je 0x423917
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xc4a]
mov word [esp + 0xc48], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x1a]
mov word [esp + 0x18], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0xc48]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [esp + 0x428]
lea edx, [esp + 0xc48]
push ecx
push str.Extensions
push edx
push str._sTheWorld_s_s_
lea eax, [esp + 0x28]
push 0x103
push eax
call esi
push ebp
lea ecx, [esp + 0x34]
push ebp
push ecx
call fcn.00432af0
lea edx, [esp + 0x3c]
push edx
call fcn.00433230
lea eax, [esp + 0x40]
lea ecx, [esp + 0x248]
push eax
push ecx
call fcn.004d8650
add esp, 0x30
test eax, eax
je 0x42392f
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42392f
lea eax, [esp + 0x18]
push eax
call fcn.0042bb30
add esp, 4
test eax, eax
je 0x42392f
lea ecx, [esp + 0x1058]
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x146c]
push edx
push eax
call fcn.0042b450
jmp 0x42392f
lea ecx, [esp + 0x838]
lea edx, [esp + 0x220]
push ecx
push edx
call fcn.004d8650
add esp, 8
lea eax, [esp + 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0x220]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jb 0x4235b0
push str.UpdateExt
call fcn.00409730
add esp, 4
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x1a70
ret