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

Disassembly:
push 0x2a4
mov eax, 0x5f6ef0
call fcn.0044ea40
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5286d1
call fcn.00420ab3
test al, al
je 0x528045
pop ebx
pop ecx
push ecx
push edx
pop ebp
push edx
pop esp
push ecx
pop ecx
push esp
push ecx
push esp
pop esi
pop eax
push esp
push ebp
push edi
pop ecx
pop ebx
push ebp
pop edi
push ebx
push esi
push ebx
push ebx
pop ebp
push edi
push dword [ebp - 0x2ac]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x528086
call fcn.004206a8
test al, al
je 0x5286d1
push edi
pop esi
push ebp
pop eax
pop ebp
pop edx
pop edi
push ebx
push ebx
pop esi
pop eax
push esi
push esp
pop edx
push esi
push eax
pop ecx
pop ebx
pop esi
pop ebp
pop ecx
pop eax
push esp
pop eax
push edi
pop edx
pop ebp
pop edi
pop edx
pop ebx
pop ebx
jmp 0x5286d1
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00543220
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], ebx
lea ecx, [ebp - 0x248]
mov word [ebp - 0x248], ax
push ebx
push 0x5faef8
call fcn.00403bdf
mov dword [ebp - 4], ebx
call fcn.0042099f
test al, al
je 0x5280e4
pop edx
pop ebx
pop edx
push edx
pop edi
push ecx
pop edx
pop ebp
push edx
push esi
pop ecx
pop eax
pop edx
pop edi
pop edi
push edx
pop ebp
call fcn.004206a8
test al, al
je 0x52810c
push edx
pop ebp
pop ecx
push edi
push esi
pop esp
push esp
push ebx
pop ebx
pop esi
pop esp
pop eax
push esi
push eax
pop esp
pop edi
pop ecx
push ecx
pop edx
pop esp
pop esp
push esi
pop ebp
pop ebx
push ebp
push edx
pop edx
push edx
push esp
pop edi
push ecx
call fcn.004204c5
test al, al
je 0x52812b
push ecx
push edi
push ebx
push ebp
push esi
push esp
pop eax
push edx
pop edx
pop ebx
push eax
pop esi
pop esi
push edx
pop eax
pop esp
pop edx
push edi
push esp
push eax
pop ecx
push esp
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
push eax
call fcn.0052f140
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.00420ab3
test al, al
je 0x528171
pop esi
push ebx
pop ecx
pop esi
pop ebx
pop edi
pop esi
push esp
push edx
push edx
pop ebp
push eax
push ebx
pop ecx
pop esp
pop ebx
pop esp
pop esp
push esp
call fcn.00420a29
test al, al
je 0x528195
push edx
push esi
pop ecx
pop esp
pop edx
pop ecx
push edx
push eax
push ebp
pop esi
pop edi
push ebx
pop esp
pop ecx
pop ecx
pop ecx
pop edi
push esp
pop edi
pop ebp
pop ecx
push ecx
pop eax
push edx
pop eax
pop ebx
push ebx
call fcn.004209e4
test al, al
je 0x5281b7
pop ebx
pop edx
pop edi
push ebx
pop ecx
pop edx
pop ebx
push ebp
push ecx
pop ebx
push ebp
pop ebx
push edx
push esi
push ecx
push ecx
push ecx
push eax
pop esi
push esp
pop edx
pop edx
pop edi
push ecx
push edi
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x278]
push eax
call fcn.0052f513
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.00420480
test al, al
je 0x5281ec
pop ebp
push esp
pop ecx
pop ebx
push ebp
pop ebp
push eax
pop edx
push edx
pop edi
pop edi
pop ebp
pop ebp
push esp
pop esp
push eax
pop eax
pop ebx
push esp
pop ebp
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0052f513
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.0051f192
add esp, 0xc
call fcn.004206ed
test al, al
je 0x52822b
pop ebp
pop esi
pop edi
pop ecx
pop eax
push ecx
pop edx
push esi
push ebx
push esp
push edx
pop esi
pop edi
pop ecx
pop ecx
pop eax
call fcn.00420a6e
test al, al
je 0x528254
push ecx
pop ebp
pop esp
pop ebp
push esi
push edx
pop ecx
push esp
pop ebx
push eax
pop edi
push esp
push edi
push ebp
push esp
push esp
pop ebx
push esp
pop edi
push ecx
pop esp
push ebx
pop ecx
push ebx
pop ebp
pop eax
pop edi
push edx
pop eax
pop eax
push esp
pop ebx
call fcn.00420480
test al, al
je 0x52827b
pop eax
pop edx
pop esi
push esi
push ebp
push esp
pop ebp
pop edi
push edx
push edx
pop edi
push edi
pop edx
pop ecx
push edx
push esi
pop eax
push ebx
push esi
push ecx
pop esi
push ebp
push edx
push ecx
pop esp
push ecx
push ecx
push esp
pop edx
pop esp
lea eax, [ebp - 0x260]
push eax
call fcn.0051f192
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.00404ac1
test eax, eax
jne 0x5282e8
call fcn.0042095a
test al, al
je 0x5282b8
pop ebx
push ebx
push ebp
push esi
push edx
push edi
pop esi
push ebp
push edi
push ebx
pop ebx
push ecx
pop ebp
push ebp
pop ecx
pop esi
push ebx
cmp word [ebp - 0x218], 0
jne 0x5282c6
xor eax, eax
jmp 0x5282d3
lea eax, [ebp - 0x218]
push eax
call fcn.00546031
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00403bdf
jmp 0x528366
call fcn.004208d0
test al, al
je 0x52830e
pop ebx
push edx
push ebp
pop esi
pop ebx
push edi
pop edi
pop esi
pop ebx
push esi
push ebx
push edi
pop eax
pop esp
pop ebx
pop ebx
push ebx
pop ebp
push edx
pop eax
push ebp
push edi
push esi
pop esi
pop edi
pop edi
push ecx
push esp
push edi
call fcn.004206a8
test al, al
je 0x528337
push esi
pop esp
pop esp
pop edx
pop edx
push edx
push ecx
push esi
push ebp
pop edx
pop eax
push eax
pop esp
pop esi
pop esp
push eax
push edi
push esp
pop eax
push ecx
pop edx
push edx
push ebp
push ecx
pop ecx
push eax
push ebx
pop edx
push ebx
push eax
pop esi
push eax
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x290]
push eax
call fcn.0052f3db
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.004044cb
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.004037bf
and dword [ebp - 0x2b0], 0
call fcn.00420a29
test al, al
je 0x52838c
push edx
pop ebp
push edi
pop ebx
pop edx
pop esp
push ebx
push eax
push ebx
push edi
pop edi
push esp
pop ecx
pop eax
pop ebp
push esp
push ecx
push ebp
push ebx
pop ebx
push edi
pop esi
and dword [ebp - 0x220], 0
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x21c], 7
push eax
push 0x5faef8
mov word [ebp - 0x230], ax
call fcn.00403bdf
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b4a
call fcn.0042099f
test al, al
je 0x5283f9
push esp
push edi
pop ebx
pop ecx
pop esp
pop ebx
pop ebx
push ecx
pop ebp
pop eax
pop ebp
push ebx
pop ebx
pop edx
push ebp
push ebx
pop edi
pop eax
push ebx
push edx
pop edx
pop eax
pop edi
push ebp
pop edx
push ebp
push ebx
pop ebp
push ebx
pop edx
pop esi
call fcn.0042043b
test al, al
je 0x52841b
pop edx
push ecx
push ebp
pop edx
push esp
push esp
push edx
push esi
pop eax
push esi
pop ebx
pop ecx
pop esi
pop ebx
push edi
pop edi
push ecx
push esi
pop edi
pop edi
push ecx
push esp
pop ebp
push ebp
push edi
call fcn.004206ed
test al, al
je 0x528440
pop edx
push ecx
pop ebp
pop ebx
pop ebp
pop eax
pop ebx
push edi
push edx
push esi
pop edi
push eax
push edx
push edi
push esi
push esp
pop ebp
push ecx
push edx
pop eax
pop ebp
pop esi
push ecx
pop ecx
push ebx
pop edi
push edi
pop ebp
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [ebp - 0x2a8]
push ebx
push eax
lea ecx, [ebp - 0x230]
call fcn.004048df
mov esi, 0x65f428
push esi
call fcn.00546031
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.004049a5
mov eax, dword [ebp - 0x2b0]
test eax, eax
jle 0x5284b1
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.0051dc00
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.004048df
push ebx
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.004037bf
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x528594
call fcn.004206a8
test al, al
je 0x5284f8
push eax
push esi
push edi
pop ebp
pop esi
pop edi
pop ebx
push esi
pop ecx
pop esp
push edi
pop eax
pop ebp
push ebp
pop ecx
push edx
pop esp
pop esi
pop esp
push esp
pop eax
pop ebp
push edi
push ebx
pop ecx
push esi
push ecx
call fcn.0042054f
test al, al
je 0x52851f
push edi
pop edi
push ebx
push eax
push ebp
push ecx
push edi
push edx
pop esp
push edi
pop edi
pop ecx
push esp
push eax
pop esi
pop edx
push ecx
pop esi
pop ecx
pop edi
pop ebx
push esi
pop edx
push esi
pop edx
pop ecx
pop ecx
pop eax
pop ebx
pop esp
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x528594
call fcn.0042054f
test al, al
je 0x528566
push esi
pop ebx
pop ecx
push ebp
pop ecx
push ecx
push esi
pop eax
pop ebp
pop eax
push edi
push edx
push esi
push edi
push edi
pop edx
pop ebx
push eax
push edi
push ebp
push edx
pop ebp
pop ebp
push ebx
pop eax
push edx
push ebp
push ebp
push edx
push esp
push edi
mov ebx, dword [ebp - 0x2b0]
cmp ebx, 0xa
jge 0x52868b
push 0
inc ebx
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], ebx
call fcn.004037bf
jmp 0x52838c
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.005581c6
pop ecx
pop ecx
call fcn.00420801
test al, al
je 0x5285d6
push edi
pop ebx
push edi
push edx
push ecx
pop ebx
pop edx
push ebx
pop eax
push eax
pop ebp
pop edi
pop ebp
pop esp
pop ecx
push ecx
push edx
push esp
push ecx
push edi
pop ebp
pop ecx
pop ebx
call fcn.00420594
test al, al
je 0x5285f7
pop eax
pop ebx
pop edi
pop edi
pop ebp
pop edi
pop ecx
pop esp
push esp
pop edi
push eax
push ebp
pop esp
pop edi
pop edx
push ebx
pop esi
push edx
push esp
push ecx
pop ebp
pop ebp
pop edi
push edi
call fcn.0042061e
test al, al
je 0x528618
push esi
push esi
push edx
pop esi
pop ecx
push ecx
pop edi
pop eax
pop ebp
pop eax
push esp
push ecx
pop edx
pop eax
pop ebx
push esi
pop esp
pop ecx
push ecx
pop ebp
pop edi
pop esi
push esi
push ebp
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x230]
push eax
call esi
test eax, eax
je 0x528658
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push 5
cmovae eax, dword [ebp - 0x230]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ebx, dword [ebp - 0x2ac]
push ebx
call esi
test eax, eax
je 0x52868b
call fcn.004207bc
test al, al
je 0x528680
push eax
push esi
push esi
push esi
pop esp
pop eax
pop esi
push ecx
push edi
push ecx
pop edx
push ecx
pop esp
pop esp
push ecx
pop edi
pop ebp
pop ebp
push 5
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor ebx, ebx
lea ecx, [ebp - 0x230]
xor esi, esi
push ebx
inc esi
push esi
call fcn.004037bf
push ebx
push esi
lea ecx, [ebp - 0x260]
call fcn.004037bf
push ebx
push esi
lea ecx, [ebp - 0x278]
call fcn.004037bf
push ebx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.004037bf
push ebx
push esi
lea ecx, [ebp - 0x248]
call fcn.004037bf
call fcn.0044e9ea
ret