Function at 0x4138c2
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x357c
call fcn.0052d050
push ebx
mov ebx, dword [ebp + 8]
and dword [ebp - 4], 0
push esi
push edi
push 0x65
mov eax, ebx
call fcn.004864fc
mov eax, ebx
call fcn.00480b3d
mov eax, ebx
call fcn.00411118
lea eax, [ebp - 0x468]
call fcn.00439d44
push 0xffffffffffffffff
push dword [ebx + 0x79ab]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor esi, esi
mov byte [0x5a6595], 0
inc esi
cmp byte [ebx + 0x239f], 0
jne 0x413943
mov eax, dword [ebx + 4]
push 0
push eax
push esi
lea eax, [ebp - 0xb69]
mov dword [ebp - 4], esi
call fcn.0046c771
mov ecx, str.Select_the_Drive_to_Copy_From
call fcn.0046c98a
test al, al
mov byte [ebp + 0xb], 1
je 0x413947
mov byte [ebp + 0xb], 0
test byte [ebp - 4], 1
je 0x413963
lea edi, [ebp - 0xb30]
call fcn.0041d6fe
lea eax, [ebp - 0xb69]
call fcn.0047a34e
cmp byte [ebp + 0xb], 0
je 0x413974
mov dword [ebp - 0x464], esi
jmp 0x414090
lea ecx, [ebx + 0x7547]
call fcn.0043a676
cmp byte [ebx + 0x754a], 0
je 0x4139c0
movzx eax, byte [ebx + 0x7549]
push esi
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
mov dword [ebp + 8], 0x5531a0
call fcn.004869ed
cmp dword [ebp - 4], esi
jne 0x4139c0
mov eax, esi
mov esi, dword [ebp + 0xc]
call fcn.00439d68
mov dword [ebp + 8], 0x594e70
jmp 0x41409e
mov al, byte [ebx + 0x7549]
lea esi, [ebp - 0x3578]
call fcn.0043f6dc
mov eax, dword [ebx + 4]
mov ecx, esi
push ecx
push eax
lea esi, [ebp + 8]
call fcn.00421564
cmp dword [eax], 0
je 0x4139f4
mov dword [ebp - 0x464], 1
jmp 0x414090
mov eax, dword [ebp - 0x3578]
cmp eax, 0x13
jne 0x413a16
push 0x10
push 0x549180
push str.There_is_no_disc_in_the_selected_drive
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4139e5
cmp byte [ebp - 0x34c8], 0
je 0x413a2d
push 0x10
push 0x549180
push str.The_source_disc_is_copyrighted_and_Express_Burn_cannot_copy_it
jmp 0x413a0b
cmp byte [ebp - 0x34c7], 0
je 0x413a44
push 0x10
push 0x549180
push str.The_source_disc_is_blank_so_Express_Burn_cannot_copy_it
jmp 0x413a0b
cmp eax, 2
je 0x413a54
test eax, eax
je 0x413a54
cmp eax, 1
mov al, 4
jne 0x413a5a
mov al, byte [ebp - 0x3572]
test al, 4
jne 0x413e8a
push ebx
call fcn.00417b93
push str.AUDIO
lea eax, [ebp - 0xa90]
push eax
call fcn.0043a402
movzx eax, byte [ebx + 0x7549]
push eax
lea edi, [ebp - 0xea8]
call fcn.00486add
push 0
call fcn.0052057a
pop ecx
lea ecx, [ebp - 0x24]
push ecx
call fcn.004490c0
lea esi, [ebp - 0x14]
mov byte [ebp + 0xb], 0
call fcn.004e6c81
push 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3578]
call fcn.00440064
test al, al
je 0x413ac6
lea esi, [ebp - 0x2c]
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0x1c]
lea eax, [ebp - 0x1240]
push eax
lea edi, [ebp - 0x3578]
call fcn.0043fd20
cmp byte [ebp - 0x3574], 1
mov byte [ebp - 8], 1
jb 0x413c2d
lea esi, [ebp - 4]
call fcn.004a47c9
movzx eax, byte [ebp - 8]
push eax
movzx eax, word [ebp - 0xea8]
push eax
push str._c:Track_.2d.cda
mov esi, 0x104
lea edi, [ebp - 0x878]
call fcn.0044b138
mov eax, edi
mov edi, dword [ebx + 4]
add esp, 0xc
push eax
lea eax, [ebp - 0x5f0]
call fcn.00403ee5
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0x4fe]
push eax
push ebx
call fcn.0040c980
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x413c92
mov eax, dword [ebp - 4]
xor esi, esi
cmp eax, esi
je 0x413b5f
cmp byte [eax + 0xd], 0
setne al
jmp 0x413b61
mov al, 1
test al, al
jne 0x413c92
push 0x830
call fcn.0044b085
mov edi, eax
cmp edi, esi
pop ecx
je 0x413b8e
push esi
push esi
push esi
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 4]
call fcn.0049095f
mov esi, eax
lea eax, [ebp + 0xb]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x3578]
push eax
call fcn.0043fe60
push dword [ebp - 0x1c]
lea eax, [esi + 0x420]
push eax
lea edi, [ebp - 0x3578]
call fcn.0043fdc0
lea eax, [esi + 0x628]
push eax
push dword [ebp - 8]
call fcn.0043fff7
push 0x44d
call fcn.0044b085
pop ecx
mov ecx, eax
xor eax, eax
cmp ecx, eax
je 0x413bfc
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push esi
push eax
push eax
lea eax, [ebp - 0xa8c]
push eax
lea eax, [ebp - 0x878]
push eax
xor al, al
mov esi, ecx
call fcn.0043a314
push eax
mov eax, dword [ebp - 0x884]
call fcn.0043ab60
lea eax, [ebp - 0x5f0]
call fcn.00403f96
lea eax, [ebp - 4]
call fcn.004a4856
inc byte [ebp - 8]
mov al, byte [ebp - 8]
cmp al, byte [ebp - 0x3574]
jbe 0x413aec
cmp byte [ebx + 0x754a], 0
je 0x413c45
movzx eax, byte [ebx + 0x7549]
push 0
push eax
call fcn.0043ae0b
cmp byte [ebx + 0x239f], 0
jne 0x413cf1
mov eax, dword [ebx + 4]
push 1
push 0
lea ecx, [ebp - 0xa90]
push ecx
push str.Burn_Target_Copy_of
lea ecx, [ebx + 0x7547]
push ecx
push eax
xor esi, esi
call fcn.0046af97
test al, al
jne 0x413cd1
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x468]
mov dword [ebp - 0x464], 1
call fcn.00439dc7
jmp 0x413cb9
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x468]
mov dword [ebp - 0x464], ecx
call fcn.00439dc7
lea eax, [ebp - 0x5f0]
call fcn.00403f96
lea eax, [ebp - 4]
call fcn.004a4856
lea esi, [ebp - 0x14]
call fcn.004e6ca2
lea edi, [ebp - 0xa90]
call fcn.0040961b
jmp 0x41409e
cmp byte [ebx + 0x7549], 0xff
jne 0x413d56
push 0x10
push 0x549180
push str.You_cannot_copy_to_an_image_file
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x413c78
lea eax, [ebx + 0x23a1]
cmp word [eax], 0
jne 0x413d40
cmp byte [ebx + 0x754a], 0
je 0x413d56
movzx eax, byte [ebx + 0x7549]
push 0
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
mov dword [ebp + 8], 0x5531a0
call fcn.004869ed
xor eax, eax
inc eax
cmp dword [ebp - 4], eax
jne 0x413d56
mov esi, dword [ebp + 0xc]
call fcn.00439d68
mov dword [ebp + 8], 0x594e70
jmp 0x413cb9
call fcn.00486b6b
mov byte [ebx + 0x7549], al
lea eax, [ebx + 0x7547]
call fcn.0043a835
and dword [ebp + 8], 0
cmp word [ebx + 0x754c], 0
jbe 0x413e72
lea eax, [ebp - 0xa90]
push eax
lea esi, [ebp - 0x22d0]
mov byte [ebx + 0x799d], 1
call fcn.004908b3
push 0x104
lea edx, [ebp - 0x1240]
lea esi, [ebp - 0x1a7c]
call fcn.0044b0f6
mov edi, dword [ebx + 4]
lea eax, [ebp - 0x22d0]
push eax
push str.Are_you_sure_you_wish_to_cancel__any_disc_may_be_unusable_
lea esi, [ebp - 0x1038]
call fcn.0042297a
mov eax, edi
mov ecx, esi
call fcn.00477802
mov eax, esi
push eax
call fcn.00403f21
push ebx
call fcn.0040f7f1
lea eax, [ebp - 0x20a7]
lea edi, [ebp - 0x468]
call fcn.00439e64
cmp dword [ebp - 0x464], 0
jne 0x413e67
movzx eax, word [ebx + 0x754c]
mov esi, dword [ebp + 8]
dec eax
cmp esi, eax
jge 0x413e47
cmp byte [ebx + 0x754a], 0
je 0x413e0d
movzx eax, byte [ebx + 0x7549]
push 0
push eax
call fcn.0043ae0b
add esi, 2
push esi
push str.Ready_to_burn_copy__d
mov esi, 0x104
lea edi, [ebp - 0xea8]
call fcn.0044b138
mov eax, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, edi
push ecx
push str.Please_insert_a_new_disc_to_burn
push eax
mov ecx, 0x548cf4
mov eax, str.Continue
call fcn.0046ea56
test al, al
je 0x413e67
lea eax, [ebp - 0x22d0]
call fcn.00490900
movzx eax, word [ebx + 0x754c]
inc dword [ebp + 8]
cmp dword [ebp + 8], eax
jl 0x413d68
jmp 0x413e72
lea eax, [ebp - 0x22d0]
call fcn.00490900
lea esi, [ebp - 0x14]
call fcn.004e6ca2
lea edi, [ebp - 0xa90]
call fcn.0040961b
jmp 0x41404c
mov edi, dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0xea8]
push eax
push 0x104
call edi
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0xea8]
push eax
push str.TempFolder
push str.Settings
call fcn.00444aef
mov esi, str..tmp
push esi
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x878]
push eax
call fcn.00449393
cmp word [ebp - 0x670], 0
jne 0x413f04
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0xea8]
call fcn.00401016
push esi
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x878]
push eax
call fcn.00449393
push 0xfffffffffffffffe
lea esi, [ebx + 0x79a7]
call fcn.00454cc8
push 0xffffffffffffffff
push dword [ebx + 0x79ab]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [ebx + 0x7e25]
lea eax, [ebp - 0x1240]
push eax
push 0x104
shl esi, 0xb
call edi
xor eax, eax
push eax
push esi
push eax
push ebx
lea edi, [ebp - 0x1240]
call fcn.0040c1b0
test eax, eax
jne 0x413f6f
inc eax
lea esi, [ebp - 0xc98]
call fcn.00439d68
mov eax, esi
lea edi, [ebp - 0x468]
call fcn.00439e64
lea esi, [ebp - 0x87d]
jmp 0x414036
lea eax, [ebp - 0x1664]
mov byte [ebx + 0x799d], 1
call fcn.00439d44
lea ecx, [ebp - 0x1668]
lea eax, [ebp - 0x670]
push ecx
mov dword [ebp - 0x1668], eax
mov eax, dword [ebx + 4]
push str.Reading_Source_Disc
push eax
lea esi, [ebp + 8]
call fcn.0042141f
xor esi, esi
cmp dword [eax], esi
jne 0x41401f
cmp byte [ebx + 0x754a], 0
je 0x413fc2
movzx eax, byte [ebx + 0x7549]
push esi
push eax
call fcn.0043ae0b
cmp byte [ebx + 0x239f], 0
jne 0x413fec
lea eax, [ebx + 0x23a1]
cmp word [eax], si
je 0x413fec
call fcn.00486b6b
mov byte [ebx + 0x7549], al
lea eax, [ebx + 0x7547]
call fcn.0043a835
lea eax, [ebp - 0x670]
push eax
push str.Write_Destination_Copy
push 1
lea eax, [ebp - 0xc98]
push eax
push ebx
call fcn.0041316d
lea edi, [ebp - 0x468]
call fcn.00439e64
lea esi, [ebp - 0x87d]
call fcn.004e54d1
jmp 0x414030
lea eax, [ebp - 0x1664]
lea edi, [ebp - 0x468]
call fcn.00439e64
lea esi, [ebp - 0x1249]
call fcn.004e54d1
lea eax, [ebp - 0x670]
push eax
mov eax, 0x3e8
call fcn.00449190
push ebx
call fcn.0040f7f1
push 0xfffffffffffffffe
lea esi, [ebx + 0x79a7]
call fcn.00454cc8
cmp dword [ebp - 0x464], 2
je 0x414090
cmp byte [ebx + 0x239f], 0
jne 0x414090
push dword [ebx + 0x239b]
lea eax, [ebp - 0x468]
push eax
push str.Copy_Disc
push str.Copy_has_completed_successfully._The_disc_is_now_ready_for_use.
push dword [ebx + 4]
call fcn.00404655
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x468]
call fcn.00439dc7
lea esi, [ebp - 0x4d]
call fcn.004e54d1
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
leave
ret 8