Function at 0x4131f7
Capabilities:
Check if file exists
Get file attributes
Move file

Disassembly:
push 0x41aa00
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
pop esi
pop edi
pop ebp
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 8
mov dword [0], ecx
lea edx, [esp + 8]
push edx
mov ecx, esi
call fcn.00404171
push 0x41a5d7
lea ecx, [esp + 0xc]
mov dword [esp + 0x44], edi
call fcn.00411239
test al, al
jne 0x4020db
push 0x41a06e
lea ecx, [esp + 0xc]
call fcn.00404896
test al, al
jne 0x402182
push 0x41a420
lea ecx, [esp + 0xc]
call fcn.0040ab4a
test al, al
jne 0x4021d4
push 0x41a816
lea ecx, [esp + 0xc]
call fcn.0040b2d5
test al, al
jne 0x40216f
mov eax, dword [esp + 8]
push eax
mov edi, 0x41a962
push 0x41a67b
call fcn.0040cdf7
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, 0xb
ja 0x4131e5
movzx eax, byte [eax + 0x1000ce54]
jmp dword [eax*4 + 0x1000ce44]
mov edx, dword [esp + 8]
push edx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
mov eax, 0x41a336
push eax
push 0x41ac68
call fcn.004109ca
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
lea eax, [esp + 4]
push eax
lea ecx, [esp + 4]
push ecx
push 0x41a28b
push edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
add esp, 0x10
test eax, eax
je 0x4022aa
mov ecx, dword [esp]
lea eax, [esp + 8]
push 1
push eax
mov eax, dword [0x41aa57]
call fcn.0040b4a2
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
int3
and al, 0x50
push 0x41a51b
push eax
call fcn.004062c0
mov ecx, dword [ebp - 0x238]
push eax
call fcn.00403de3
xor eax, eax
jmp 0x40fc3e
call fcn.004105a8
mov dword [esp + 0x20], edi
xchg dword [esp], eax
push 0x400d3e
push dword [esp + 8]
push dword [esp + 4]
push 0x403964
call fcn.00402f20
add eax, edx
cmp eax, edi
mov dword [ebp + 0x10], ecx
push sym.imp.GDI32.dll_DeleteObject
push sym.imp.ADVAPI32.dll_RegEnumKeyExW
push eax
push eax
push edx
call fcn.00408cb2
push 0x34
push 0x41b200
call fcn.0040fded
push 0x4003a3
push 0x4006a0
push ebp
push 0x3fa2b3
call fcn.0040379d
pop es
pop es
pop es
pop es
pop es
pop es
pop es
push 0x1eff
push str.DVDAUt
push sym.imp.USER32.dll_GetWindowLongW
call fcn.0040cdef
push 0x4006ff
push 0x400ccc
push 0x15
push 0x3fc10d
call fcn.00403930
test esi, esi
jne 0x413280
pop esi
pop ebp
pop edi
push ebx
push sym.imp.KERNEL32.dll_GetModuleHandleW
push 0x1c56
call fcn.0040463e
push 0x400391
push 0x4002f6
push 0x4006f7
push 0x3fd6ff
call fcn.00403650
push edx
call esi
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
push 0x64
push sym.imp.KERNEL32.dll_Module32Next
push 0x41adbb
push 0xffffffffffffffcd
call fcn.0040d250
push esp
push 0xffffffffffffffd0
push 0x4003c9
push 0x3f53bc
call fcn.00403930
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x4132d4
xor eax, eax
movzx edx, byte [esp + 4]
mov eax, dword [ecx + 0x14]
push sym.imp.USER32.dll_InsertMenuItemA
push 0x18f3
push 8
call fcn.0040ffdb
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x14]
test eax, eax
push sym.imp.KERNEL32.dll_GetStdHandle
push eax
call fcn.0040de8c
push sym.imp.KERNEL32.dll_FormatMessageA
push esi
call fcn.0040ce5e
push 0xfffffffffffffffc
push 0xffffffffffffff85
push dword [esp + 4]
push 0x3f71d9
call fcn.00402e08
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
mov esi, dword [esi + 0x14]
mov ecx, dword [esi]
lea edx, [esp + 0x10]
push 0x41b0db
push 0xc
call fcn.00409b83
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
add esp, 8
pop edi
pop esi
pop ebp
push edx
call fcn.0040afa6
push 0xffffffffffffffe8
push 1
push 0x4005a6
push 0x3fe0de
call fcn.00402e08
push esi
lea eax, [esp + 4]
push eax
mov eax, dword [esp + 0x10]
push 0
push 0xbe4
call fcn.004105e9
push 0x400e3d
push esi
push ebx
push 0x3f8231
call fcn.0040335f
je 0x41332c
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0x1695
push ecx
push 0x142b
push sym.imp.SHELL32.dll_Shell_NotifyIconW
push sym.imp.KERNEL32.dll_CreateFileW
push 0x32
call fcn.00407afe
push 0x1008
push 0x1ee5
call fcn.0040af0a
push esi
push 0xffffffffffffff83
push sym.imp.USER32.dll_SetDlgItemTextW
push 0
push 0x39
push 0x41a858
push ecx
call fcn.0040e641
push 0x40012c
push dword [esp + 8]
push 0xfffffffffffffff5
push 0x3fd22c
call fcn.00403930
cmp eax, 0xffffffff
jne 0x413407
xor eax, eax
push 0xe
call fcn.0040c612
push esi
call dword [eax + 0x18]
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push eax
call fcn.004067a1
push 0x12
call fcn.004043bf
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push 0xffffffffffffff8a
call fcn.0040d50b
push ecx
call fcn.0040792d
push dword [esp + 0xc]
push dword [esp + 4]
push 0x400e71
push 0x3f12b8
call fcn.0040335f
call fcn.004081f5
push dword [esp + 4]
call fcn.0040718a
neg eax
push 0xd
call fcn.004043bf
xor eax, eax
add esp, 8
ret