Function at 0x41a561
Capabilities:
Copy file
Create directory
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1298
call fcn.0052d050
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x104
lea esi, [ebp - 0x45c]
call fcn.0044b0f6
cmp word [ebp - 0x45c], 0
mov edi, 0x53ec98
mov esi, str.Settings
jne 0x41a5ed
lea eax, [ebp - 0x254]
push eax
push edi
push str.ProjectDir
push esi
call fcn.00444aef
mov eax, dword [ebx + 4]
push 0
push str.Express_Burn_Project__.ebp_
lea ecx, [ebp - 0x254]
push ecx
push str.Select_a_project_file_to_open
lea ecx, [ebp - 0x45c]
push ecx
push eax
mov eax, 0x5524c8
call fcn.00449a64
test al, al
je 0x41ad7e
lea eax, [ebp - 0x254]
push eax
push str.ProjectDir
push esi
call fcn.00444b22
lea eax, [ebx + 0x88ce]
push eax
lea eax, [ebp - 0x45c]
call fcn.00401016
lea eax, [ebp - 0x108c]
push eax
lea eax, [ebp - 0x45c]
push eax
lea esi, [ebp - 0x4c]
call fcn.004058fd
xor esi, esi
cmp word [ebp - 0x108c], si
jne 0x41ad5e
push str.ExpressBurnProject
lea eax, [ebp - 0x4c]
call fcn.00455c6a
cmp eax, esi
mov dword [ebp - 0xc], eax
je 0x41ad5e
push edi
push str.type
mov dword [ebp + 8], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call fcn.004057b0
push eax
call fcn.00520546
mov edi, eax
cmp edi, 0x1b
pop ecx
mov dword [ebp - 8], edi
ja 0x41ad5e
lea esi, [ebp - 0x1294]
call fcn.0043a100
test edi, edi
je 0x41ab1f
jle 0x41a691
cmp edi, 2
jle 0x41a747
cmp edi, 0x18
jle 0x41a691
cmp edi, 0x1a
jle 0x41ab1f
push 0
mov edi, ebx
call fcn.004103bf
push dword [ebp - 8]
push ebx
call fcn.0040f393
mov eax, dword [ebp - 0xc]
push str.DiskLabel
call fcn.00455c6a
test eax, eax
push 0x65
pop edi
je 0x41a6df
mov ecx, eax
call fcn.00455c4f
mov esi, eax
lea eax, [ebx + 0x776d]
mov edx, esi
call fcn.0043a4df
push edi
mov eax, ebx
call fcn.0040348b
mov ecx, eax
push ebx
mov eax, esi
call fcn.00403572
mov esi, dword [ebx + 0x7979]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
push dword [ebp - 0xc]
mov ecx, ebx
push esi
call fcn.0041ad85
lea ecx, [esi + 0x449]
lea eax, [ebp - 0x24]
call fcn.00420f38
xor esi, esi
cmp dword [ebp - 0x20], esi
je 0x41aaf0
mov eax, dword [ebp - 0x24]
cmp eax, esi
setne cl
test cl, cl
je 0x41aaf0
cmp eax, esi
je 0x41a72c
mov esi, dword [eax + 4]
push edi
mov eax, ebx
call fcn.0040348b
push eax
push esi
mov ecx, ebx
call fcn.00416f73
lea edx, [ebp - 0x24]
call fcn.004e57f7
jmp 0x41a70a
push 0
mov edi, ebx
call fcn.004103bf
push dword [ebp - 8]
push ebx
call fcn.0040f8c2
mov eax, dword [ebp - 0xc]
push str.DiskLabel
call fcn.00455c6a
test eax, eax
je 0x41a780
mov ecx, eax
call fcn.00455c4f
lea ecx, [ebx + 0x776d]
mov edx, eax
mov eax, ecx
call fcn.0043a4df
mov eax, dword [ebp - 0xc]
push str.VideoList
call fcn.00455c6a
test eax, eax
je 0x41a80a
push 0x53d9d4
lea esi, [ebp - 0x1c]
call fcn.00455dc2
jmp 0x41a804
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x14]
mov esi, 0x53ec98
push esi
push str.file
call fcn.004057b0
push esi
mov edi, eax
mov eax, dword [ebp - 0x1c]
push str.name
call fcn.004057b0
push edi
mov esi, eax
call fcn.00401d29
test al, al
je 0x41a7f9
push 0xffffffffffffffff
push edi
lea eax, [ebp - 8]
push eax
push ebx
mov dword [ebp - 8], 0x5531a0
call fcn.0040da2a
sub eax, 0
je 0x41aaca
dec eax
je 0x41aa0d
dec eax
jne 0x41a7fc
inc dword [ebp - 0x10]
lea esi, [ebp - 0x1c]
call fcn.00455dfd
cmp dword [ebp - 0x1c], 0
jne 0x41a7a0
push str.templates.current
lea esi, [ebp - 0x254]
call fcn.00449edc
mov eax, esi
push eax
call fcn.00401d29
test al, al
je 0x41a82e
mov eax, esi
push eax
call fcn.0044a955
mov eax, dword [ebp - 0xc]
push str.MenuTemplate
call fcn.00455c6a
test eax, eax
je 0x41a9d5
push str.template
call fcn.00455cac
test eax, eax
mov dword [ebp - 0xc], eax
je 0x41a9d5
mov eax, ebx
call fcn.004178d2
push 0
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov eax, dword [ebp - 0xc]
push str.BaseFolder
call fcn.00455cac
test eax, eax
je 0x41a9d5
mov ecx, eax
call fcn.00455c4f
mov esi, eax
xor edi, edi
cmp word [esi], di
je 0x41aad6
push esi
call fcn.00401d29
test al, al
je 0x41aad6
lea edx, [ebp - 0x254]
mov ecx, esi
call fcn.0044a155
mov eax, dword [ebp - 0xc]
push str.menu
call fcn.00455cac
cmp eax, edi
je 0x41a938
push str.background
call fcn.00455cac
cmp eax, edi
je 0x41a938
push 0x53ec98
push str.file
call fcn.004057b0
push eax
push 0x5527c8
mov esi, 0x104
lea edi, [ebp - 0xa74]
call fcn.0044b138
pop ecx
pop ecx
mov ecx, edi
lea eax, [ebp - 0xc7c]
call fcn.004019a9
push 0x53ec98
lea eax, [ebp - 0xc7c]
push eax
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0xe84]
push eax
call fcn.0044a0d6
push 0
lea eax, [ebp - 0xe84]
push eax
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
xor edi, edi
push 0x53ec98
push str.template.xml
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x664]
push eax
call fcn.0044a0d6
lea eax, [ebp - 0x664]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0xc]
push edi
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
call fcn.00455e2a
lea eax, [ebp - 0x664]
push eax
lea esi, [ebp - 8]
call fcn.00401f09
push dword [ebp - 0x30]
mov eax, esi
push dword [ebp - 0x34]
push eax
call fcn.00401eb7
mov eax, dword [ebp - 0xc]
push str.type
call fcn.00455cac
cmp eax, edi
je 0x41a9bd
mov ecx, eax
call fcn.00455c4f
push eax
call fcn.00520546
pop ecx
mov ecx, dword [ebx + 0x8666]
mov dword [ecx + 9], eax
cmp dword [ebp - 8], 0xffffffff
je 0x41a9cc
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x34]
call fcn.00520947
pop ecx
push ebx
call fcn.004144f7
and word [ebp - 0x86c], 0
cmp dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x10]
jle 0x41acf3
cmp ecx, dword [ebp - 0x14]
jne 0x41acf3
push 0x2010
push str.Project_Files_Not_Found
push str.Project_opened__but_none_of_the_referenced_files_were_found_on_this_computer.
jmp 0x41ad28
mov eax, dword [ebp + 8]
push 0x66
push ebx
call fcn.00402ee0
mov edi, eax
test edi, edi
je 0x41a7fc
cmp dword [edi + 0x208], 0
je 0x41a7fc
cmp word [esi], 0
je 0x41aa40
push dword [ebp + 8]
mov eax, esi
push ebx
call fcn.00402e45
mov eax, dword [ebp - 0x1c]
push str.ChapterPoint
lea esi, [ebp - 0x24]
call fcn.00455dc2
jmp 0x41aa85
mov ecx, dword [ebp - 0x24]
mov esi, dword [edi + 0x208]
call fcn.00455c4f
lea ecx, [ebp - 0x34]
push ecx
push esi
mov ecx, eax
call fcn.004b0847
test al, al
je 0x41aa7d
push dword [ebp - 0x30]
mov eax, esi
push dword [ebp - 0x34]
call fcn.004b0bc5
lea esi, [ebp - 0x24]
call fcn.00455dfd
cmp dword [ebp - 0x24], 0
jne 0x41aa52
mov eax, dword [edi + 0x208]
cmp dword [eax + 0x18], 1
jbe 0x41aac2
push dword [eax + 0x18]
mov esi, 0x104
push str._d_Chapters_set
lea edi, [ebp - 0x664]
call fcn.0044b138
pop ecx
pop ecx
mov eax, edi
push eax
push dword [ebp + 8]
push 0x66
push ebx
push 4
pop eax
call fcn.00402e73
inc dword [ebp + 8]
jmp 0x41a7fc
mov dword [ebp - 8], 0x594e70
jmp 0x41ad76
push 0x40
push str.Template_Doesnt_Exist
push str.Please_choose_a_different_menu_template.
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x41a9d5
push edi
mov eax, ebx
call fcn.0040348b
push eax
push edi
mov eax, ebx
call fcn.00403601
push edi
mov eax, ebx
call fcn.00402b6a
push edi
mov eax, ebx
call fcn.0040348b
push eax
push edi
mov ecx, ebx
call fcn.00416ea0
jmp 0x41a9d5
push 0
mov edi, ebx
call fcn.004103bf
push dword [ebp - 8]
push ebx
call fcn.0040e1d1
mov eax, dword [ebp - 0xc]
mov esi, str.AlbumTitle
push esi
call fcn.00455c6a
test eax, eax
je 0x41ab59
mov ecx, eax
call fcn.00455c4f
push eax
push esi
mov esi, str.Settings
push esi
call fcn.00444b22
jmp 0x41ab5e
mov esi, str.Settings
mov eax, dword [ebp - 0xc]
mov edi, str.AlbumArtist
push edi
call fcn.00455c6a
test eax, eax
je 0x41ab7f
mov ecx, eax
call fcn.00455c4f
push eax
push edi
push esi
call fcn.00444b22
mov eax, dword [ebp - 0xc]
push str.CD_TEXT
call fcn.00455c6a
test eax, eax
je 0x41abd3
mov ecx, eax
call fcn.00455c4f
push str.true
push eax
call fcn.00535c2f
neg eax
pop ecx
sbb al, al
pop ecx
inc al
mov byte [ebp - 8], al
push dword [ebp - 8]
push str.CDText
push esi
call fcn.004014b9
cmp byte [ebp - 8], 0
je 0x41abd3
lea eax, [ebx + 0x7547]
mov byte [ebx + 0x755e], 1
call fcn.0043a835
mov eax, dword [ebp - 0xc]
push str.TrackList
call fcn.00455c6a
test eax, eax
je 0x41a9d5
push str.Audiotrack
lea esi, [ebp - 0x1c]
call fcn.00455dc2
jmp 0x41ac82
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x14]
mov edi, 0x53ec98
push edi
push str.file
call fcn.004057b0
push edi
mov esi, eax
mov eax, dword [ebp - 0x1c]
push 0x5525e0
call fcn.004057b0
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
push str.artist
call fcn.004057b0
mov edi, dword [ebx + 4]
mov dword [ebp - 0xc], eax
push str.Loading_files
lea eax, [ebp - 0x1d4]
call fcn.00403ee5
push esi
call fcn.00401d29
test al, al
je 0x41ac6c
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0xe2]
push eax
push ebx
call fcn.0040d121
sub eax, 0
je 0x41ace3
dec eax
je 0x41ac91
dec eax
jne 0x41ac6f
inc dword [ebp - 0x10]
lea eax, [ebp - 0x1d4]
call fcn.00403f96
lea esi, [ebp - 0x1c]
call fcn.00455dfd
cmp dword [ebp - 0x1c], 0
jne 0x41abfa
jmp 0x41a9d5
push dword [ebp + 8]
mov eax, ebx
call fcn.0040cfdf
mov edi, eax
test edi, edi
je 0x41acde
mov eax, dword [ebp - 8]
cmp word [eax], 0
je 0x41acb8
push eax
push dword [ebp + 8]
xor eax, eax
push 0x66
push ebx
call fcn.00402e73
mov edx, dword [ebp - 8]
push 0x104
lea esi, [edi + 0x218]
call fcn.0044b0f6
mov edx, dword [ebp - 0xc]
push 0x104
lea esi, [edi + 0x420]
call fcn.0044b0f6
inc dword [ebp + 8]
jmp 0x41ac6f
lea eax, [ebp - 0x1d4]
call fcn.00403f96
jmp 0x41ad76
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x14]
jge 0x41ad31
add ecx, eax
push ecx
push eax
lea eax, [ebp - 0x1294]
push eax
push str._s_project_opened__found__d_of__d_files.
mov esi, 0x104
lea edi, [ebp - 0x86c]
call fcn.0044b138
add esp, 0x10
push 0x40
push str.Project_Files_Found
mov eax, edi
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea edi, [ebx + 0x2396]
lea esi, [ebx + 0x86c6]
push 0x104
lea edx, [ebp - 0x45c]
mov byte [edi], 0
call fcn.0044b0f6
movzx eax, byte [edi]
push eax
push ebx
mov ecx, esi
call fcn.004060c3
jmp 0x41ad76
push 0x2010
push str.Invalid_File
push str.This_file_is_not_a_valid_ExpressBurn_Project.
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea esi, [ebp - 0x4c]
call fcn.0040578b
pop edi
pop esi
pop ebx
leave
ret 4