Function at 0x403260
Capabilities:
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x770
push 0x40a400
lea eax, [ebp - 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x403293
push 0x4093d0
lea ecx, [ebp - 0x564]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0x254]
push ecx
lea edx, [ebp - 0x564]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xffffffff
je 0x4032f2
mov eax, dword [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401855
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x4032f2
or eax, 0xffffffff
jmp 0x4035b0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40335d
push 0x40a2e0
lea edx, [ebp - 0x668]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x668]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
lea edx, [ebp - 0x564]
push edx
lea eax, [ebp - 0x668]
push eax
call fcn.00403afe
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x40334f
xor eax, eax
jmp 0x4035b0
cmp dword [ebp - 8], 1
je 0x40335d
or eax, 0xffffffff
jmp 0x4035b0
push 0x40a2e0
lea ecx, [ebp - 0x668]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0x668]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 8], eax
jmp 0x40338a
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
xor edx, edx
mov dl, byte [ebp + ecx - 0x668]
cmp edx, 0x5c
jne 0x4033a8
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x668], 0
jmp 0x4033aa
jmp 0x403381
push 0x40a400
lea ecx, [ebp - 0x564]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x4033d4
push 0x4093dc
lea edx, [ebp - 0x564]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 8], eax
jmp 0x4033ef
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
xor eax, eax
mov al, byte [ebp + edx - 0x564]
cmp eax, 0x5c
jne 0x40340d
mov ecx, dword [ebp - 8]
mov byte [ebp + ecx - 0x564], 0
jmp 0x40340f
jmp 0x4033e6
push 0x104
lea edx, [ebp - 0x10c]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [ebp - 0x114], 0x104
mov dword [ebp - 0x66c], 0x104
lea eax, [ebp - 0x66c]
push eax
lea ecx, [ebp - 0x770]
push ecx
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x35c]
push ecx
lea edx, [ebp - 0x10c]
push edx
mov eax, dword [ebp + 8]
push eax
push 1
call sub.VERSION.dll_VerFindFileA
mov dword [ebp - 0x258], eax
lea ecx, [ebp - 0x66c]
push ecx
lea edx, [ebp - 0x35c]
push edx
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x564]
push ecx
lea edx, [ebp - 0x668]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 2
call sub.VERSION.dll_VerInstallFileA
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
je 0x4034b8
xor eax, eax
jmp 0x4035b0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4035a1
push 0x40a400
lea ecx, [ebp - 0x564]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x4034f8
push 0x4093e8
lea edx, [ebp - 0x564]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x564]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x40a400
lea edx, [ebp - 0x770]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x403533
push 0x4093f4
lea eax, [ebp - 0x770]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x770]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 4
push 0
lea eax, [ebp - 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x40356a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x258], eax
push 4
lea ecx, [ebp - 0x564]
push ecx
lea edx, [ebp - 0x770]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x403595
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x258], eax
mov dword [0x40a3e4], 1
jmp 0x4035ab
mov dword [0x40a3e4], 1
mov eax, 1
mov esp, ebp
pop ebp
ret