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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0c
mov eax, dword [0x533a94]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xd08], ecx
mov dword [ebp - 0xd04], 0
xor eax, eax
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x890], eax
mov dword [ebp - 0x88c], eax
lea ecx, [ebp + 0x10]
push ecx
lea edx, [ebp - 0x8ac]
push edx
call fcn.004c2898
add esp, 8
push 0x208
push 0
lea eax, [ebp - 0x888]
push eax
call fcn.004c1bc0
add esp, 0xc
mov ecx, dword [ebp - 0x8a0]
push ecx
mov edx, dword [ebp - 0x89c]
add edx, 1
push edx
mov eax, dword [ebp - 0x898]
add eax, 0x76c
push eax
push 0x508ad8
push 0x104
lea ecx, [ebp - 0x888]
push ecx
call fcn.00402770
add esp, 0x18
test eax, eax
jge 0x48c645
xor eax, eax
jmp 0x48ca91
push 0x208
push 0
lea edx, [ebp - 0xcd0]
push edx
call fcn.004c1bc0
add esp, 0xc
lea eax, [ebp - 0xcd0]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x888]
push ecx
lea edx, [ebp - 0xcd0]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
jne 0x48c690
xor eax, eax
jmp 0x48ca91
push 0x208
push 0
lea ecx, [ebp - 0xab8]
push ecx
call fcn.004c1bc0
add esp, 0xc
push 0
push 0x1a
lea edx, [ebp - 0xab8]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x48c6c4
xor eax, eax
jmp 0x48ca91
push 0x508b14
lea eax, [ebp - 0xab8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
jne 0x48c6e1
xor eax, eax
jmp 0x48ca91
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48c6f9
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0xcd4]
call fcn.00417430
push 0
lea ecx, [ebp - 0xcd4]
push ecx
lea ecx, [ebp - 0xac0]
call fcn.0045b090
lea ecx, [ebp - 0xcd4]
call fcn.00417470
lea ecx, [ebp - 0xac0]
call fcn.0045b5f0
test eax, eax
jne 0x48c756
mov dword [ebp - 0xcd8], 0
lea ecx, [ebp - 0xac0]
call fcn.0045b060
mov eax, dword [ebp - 0xcd8]
jmp 0x48ca91
push 0x208
push 0
lea edx, [ebp - 0x680]
push edx
call fcn.004c1bc0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x680]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x508b44
lea ecx, [ebp - 0x680]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [ebp - 0x680]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48c7d2
lea eax, [ebp - 0x680]
push eax
lea ecx, [ebp - 0xcdc]
call fcn.00417430
lea ecx, [ebp - 0xcdc]
push ecx
lea ecx, [ebp - 0xac0]
call fcn.0045b2f0
lea ecx, [ebp - 0xcdc]
call fcn.00417470
push 0x508b70
lea edx, [ebp - 0x680]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x680]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48c824
lea ecx, [ebp - 0x680]
push ecx
lea ecx, [ebp - 0xce0]
call fcn.00417430
lea edx, [ebp - 0xce0]
push edx
lea ecx, [ebp - 0xac0]
call fcn.0045b2f0
lea ecx, [ebp - 0xce0]
call fcn.00417470
push 0x508b90
lea eax, [ebp - 0x680]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x680]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48c876
lea edx, [ebp - 0x680]
push edx
lea ecx, [ebp - 0xce4]
call fcn.00417430
lea eax, [ebp - 0xce4]
push eax
lea ecx, [ebp - 0xac0]
call fcn.0045b2f0
lea ecx, [ebp - 0xce4]
call fcn.00417470
lea ecx, [ebp - 0x470]
call fcn.0047e890
lea ecx, [ebp - 0xab8]
push ecx
lea ecx, [ebp - 0x470]
call fcn.0047ea50
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0x474], 0
cmp dword [ebp - 0xac4], 0
je 0x48c995
cmp dword [ebp - 0x474], 0x1f
jl 0x48c8be
jmp 0x48c995
lea ecx, [ebp - 0x470]
call fcn.0047ea00
test eax, eax
jne 0x48c909
lea edx, [ebp - 0xcec]
push edx
lea ecx, [ebp - 0x470]
call fcn.0047e8f0
or dword [ebp - 0xd04], 1
mov ecx, eax
call fcn.00417910
push eax
mov ecx, dword [ebp - 0xd08]
call fcn.0048cc90
test eax, eax
je 0x48c909
mov dword [ebp - 0xd0c], 1
jmp 0x48c913
mov dword [ebp - 0xd0c], 0
mov al, byte [ebp - 0xd0c]
mov byte [ebp - 0xce5], al
mov ecx, dword [ebp - 0xd04]
and ecx, 1
je 0x48c93c
and dword [ebp - 0xd04], 0xfffffffe
lea ecx, [ebp - 0xcec]
call fcn.00417470
movzx edx, byte [ebp - 0xce5]
test edx, edx
je 0x48c97f
lea eax, [ebp - 0xcf0]
push eax
lea ecx, [ebp - 0x470]
call fcn.0047e8f0
push eax
lea ecx, [ebp - 0xac0]
call fcn.0045b2f0
lea ecx, [ebp - 0xcf0]
call fcn.00417470
mov ecx, dword [ebp - 0x474]
add ecx, 1
mov dword [ebp - 0x474], ecx
lea ecx, [ebp - 0x470]
call fcn.0047ebf0
mov dword [ebp - 0xac4], eax
jmp 0x48c8a3
push 0x208
push 0
lea edx, [ebp - 0xab8]
push edx
call fcn.004c1bc0
add esp, 0xc
push 0
push 0x1a
lea eax, [ebp - 0xab8]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x48c9ed
mov dword [ebp - 0xcf4], 0
lea ecx, [ebp - 0x470]
call fcn.0047e8d0
lea ecx, [ebp - 0xac0]
call fcn.0045b060
mov eax, dword [ebp - 0xcf4]
jmp 0x48ca91
push 0x508bb0
lea ecx, [ebp - 0xab8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
jne 0x48ca2b
mov dword [ebp - 0xcf8], 0
lea ecx, [ebp - 0x470]
call fcn.0047e8d0
lea ecx, [ebp - 0xac0]
call fcn.0045b060
mov eax, dword [ebp - 0xcf8]
jmp 0x48ca91
lea edx, [ebp - 0xab8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48ca6b
lea eax, [ebp - 0xab8]
push eax
lea ecx, [ebp - 0xcfc]
call fcn.00417430
lea ecx, [ebp - 0xcfc]
push ecx
lea ecx, [ebp - 0xac0]
call fcn.0045b2f0
lea ecx, [ebp - 0xcfc]
call fcn.00417470
mov dword [ebp - 0xd00], 1
lea ecx, [ebp - 0x470]
call fcn.0047e8d0
lea ecx, [ebp - 0xac0]
call fcn.0045b060
mov eax, dword [ebp - 0xd00]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c1753
mov esp, ebp
pop ebp
ret 0x10