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

Disassembly:
push 0x2a4
mov eax, 0x5dd54f
call fcn.00447fd9
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x47df5f
call fcn.004865bf
test al, al
je 0x47d8d3
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 0x47d914
call fcn.004861b4
test al, al
je 0x47df5f
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 0x47df5f
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.004a2e40
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 0x64a7dc
call fcn.00401ea0
mov dword [ebp - 4], ebx
call fcn.004864ab
test al, al
je 0x47d972
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.004861b4
test al, al
je 0x47d99a
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.00485fd1
test al, al
je 0x47d9b9
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.004875b2
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.004865bf
test al, al
je 0x47d9ff
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.00486535
test al, al
je 0x47da23
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.004864f0
test al, al
je 0x47da45
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.00487b17
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.00485f8c
test al, al
je 0x47da7a
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.00487b17
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.00489269
add esp, 0xc
call fcn.004861f9
test al, al
je 0x47dab9
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.0048657a
test al, al
je 0x47dae2
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.00485f8c
test al, al
je 0x47db09
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.00489269
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.00422ad9
test eax, eax
jne 0x47db76
call fcn.00486466
test al, al
je 0x47db46
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 0x47db54
xor eax, eax
jmp 0x47db61
lea eax, [ebp - 0x218]
push eax
call fcn.004a6baf
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00401ea0
jmp 0x47dbf4
call fcn.004863dc
test al, al
je 0x47db9c
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.004861b4
test al, al
je 0x47dbc5
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.00487862
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.00403900
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.00401de0
and dword [ebp - 0x2b0], 0
call fcn.00486535
test al, al
je 0x47dc1a
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 0x64a7dc
mov word [ebp - 0x230], ax
call fcn.00401ea0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.004020b0
call fcn.004864ab
test al, al
je 0x47dc87
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.00485f47
test al, al
je 0x47dca9
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.004861f9
test al, al
je 0x47dcce
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.00403c90
mov esi, str..fcb
push esi
call fcn.004a6baf
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.00403b60
mov eax, dword [ebp - 0x2b0]
test eax, eax
jle 0x47dd3f
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00487209
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.00403c90
push ebx
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.00401de0
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 0x47de22
call fcn.004861b4
test al, al
je 0x47dd86
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.0048605b
test al, al
je 0x47ddad
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 0x47de22
call fcn.0048605b
test al, al
je 0x47ddf4
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 0x47df19
push 0
inc ebx
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], ebx
call fcn.00401de0
jmp 0x47dc1a
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.004b1242
pop ecx
pop ecx
call fcn.0048630d
test al, al
je 0x47de64
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.004860a0
test al, al
je 0x47de85
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.0048612a
test al, al
je 0x47dea6
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 0x47dee6
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 0x47df19
call fcn.004862c8
test al, al
je 0x47df0e
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.00401de0
push ebx
push esi
lea ecx, [ebp - 0x260]
call fcn.00401de0
push ebx
push esi
lea ecx, [ebp - 0x278]
call fcn.00401de0
push ebx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.00401de0
push ebx
push esi
lea ecx, [ebp - 0x248]
call fcn.00401de0
call fcn.00447f83
ret