Function at 0x4173c6
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
push edi
mov edi, ecx
mov ebx, 0x43e6a8
lea eax, [ebp - 8]
lea esi, [edi + 0x34]
push ebx
push esi
push eax
call fcn.0041b302
push 0x43e668
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.0041b302
mov esi, 0x43e58c
lea eax, [edi + 0x34]
push esi
push eax
lea eax, [ebp - 4]
push eax
call fcn.0041b302
lea eax, [edi + 0x34]
push 0x43e62c
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0041b302
mov eax, dword [0x43950c]
push ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
lea eax, [edi + 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041b302
lea eax, [edi + 0x38]
push esi
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0041b302
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x48]
call fcn.00420369
add esp, 0x14
mov esi, 0x43c9f8
lea eax, [ebp - 0x38]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push esi
push eax
call fcn.0040a3c5
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x44]
call fcn.00420369
add esp, 0x2c
lea eax, [ebp - 0x34]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push esi
push eax
call fcn.0040a3c5
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 0x20
test eax, eax
jne 0x41776b
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call esi
push dword [ebp - 0xc]
call esi
push dword [ebp - 8]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call esi
test eax, eax
je 0x417537
push dword [ebp - 0x10]
push dword [ebp - 8]
call fcn.004209a3
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 8]
mov dword [ebp - 0x40], eax
call esi
test eax, eax
je 0x417537
push 0x1b
mov dword [edi + 0x74], 3
push dword [ebp - 0x40]
push ecx
mov ecx, esp
push 0x43e60c
call fcn.00404729
mov ecx, edi
call fcn.0041a624
push dword [ebp - 4]
call esi
test eax, eax
je 0x41757f
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.004209a3
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 4]
mov dword [ebp - 0x40], eax
call esi
test eax, eax
je 0x41757f
push 0x1a
mov dword [edi + 0x74], 3
push dword [ebp - 0x40]
push ecx
mov ecx, esp
push 0x43e5f0
call fcn.00404729
mov ecx, edi
call fcn.0041a624
lea eax, [edi + 0x34]
push 0x43e5d8
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041b302
push dword [eax]
call fcn.0042059f
pop ecx
lea ecx, [ebp - 0x40]
call fcn.00404c0d
lea eax, [edi + 0x38]
push ebx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041b302
mov eax, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0
push dword [ebp - 8]
push eax
call ebx
lea ecx, [ebp - 0x40]
call fcn.00404c0d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 8]
mov dword [ebp - 0x40], eax
call esi
test eax, eax
je 0x4175f9
push 0x1b
mov dword [edi + 0x74], 3
push dword [ebp - 0x40]
push ecx
mov ecx, esp
push 0x43e60c
call fcn.00404729
mov ecx, edi
call fcn.0041a624
lea eax, [edi + 0x34]
push 0x43e5c0
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041b302
push dword [eax]
call fcn.0042059f
pop ecx
lea ecx, [ebp - 0x40]
call fcn.00404c0d
lea eax, [edi + 0x38]
push 0x43e58c
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041b302
mov eax, dword [eax]
push 0
push dword [ebp - 4]
push eax
call ebx
lea ecx, [ebp - 0x40]
call fcn.00404c0d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 4]
mov ebx, eax
call esi
test eax, eax
je 0x41766e
push 0x1a
push ebx
push ecx
mov dword [edi + 0x74], 3
mov ecx, esp
push 0x43e5f0
call fcn.00404729
mov ecx, edi
call fcn.0041a624
push 1
pop ebx
push dword [ebp - 8]
call esi
test eax, eax
je 0x417740
push dword [ebp - 4]
call esi
test eax, eax
je 0x417740
mov eax, dword [0x43950c]
xor esi, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x30], esi
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x2c], esi
push dword [ebp - 8]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
call fcn.00420369
add esp, 0x14
mov edi, 0x43c9f8
lea eax, [ebp - 0x40]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push edi
push eax
call fcn.0040a3c5
lea eax, [ebp - 0x24]
mov dword [ebp - 0x30], esi
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x2c], esi
push dword [ebp - 4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
call fcn.00420369
add esp, 0x2c
lea eax, [ebp - 0x3c]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push edi
push eax
call fcn.0040a3c5
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 0x20
test eax, eax
jne 0x41772c
xor ebx, ebx
lea ecx, [ebp - 0x3c]
call fcn.00404c0d
lea ecx, [ebp - 0x40]
call fcn.00404c0d
cmp ebx, esi
je 0x41775b
push dword [ebp - 8]
push dword [ebp - 0x10]
call fcn.004209a3
push dword [ebp - 4]
push dword [ebp - 0xc]
call fcn.004209a3
add esp, 0x10
jmp 0x41776b
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call esi
push dword [ebp - 0xc]
call esi
lea ecx, [ebp - 0x44]
call fcn.00404c0d
lea ecx, [ebp - 0x48]
call fcn.00404c0d
lea ecx, [ebp - 0x34]
call fcn.00404c0d
lea ecx, [ebp - 0x38]
call fcn.00404c0d
lea ecx, [ebp - 0xc]
call fcn.00404c0d
lea ecx, [ebp - 4]
call fcn.00404c0d
lea ecx, [ebp - 0x10]
call fcn.00404c0d
lea ecx, [ebp - 8]
call fcn.00404c0d
pop edi
pop esi
pop ebx
leave
ret 4