Function at 0x40c2a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7d0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea eax, [ebp - 0x234]
push eax
push 0x53ec98
push str.LoadFromFolder
push str.Settings
call fcn.00444aef
lea esi, [ebp - 0x14]
call fcn.004e6c81
mov eax, dword [ebx + 0x239b]
xor edi, edi
cmp eax, edi
mov dword [ebp - 8], edi
je 0x40c3ba
jle 0x40c2fa
cmp eax, 2
jle 0x40c346
cmp eax, 0x18
jle 0x40c2fa
cmp eax, 0x1a
jle 0x40c3cc
cmp word [ebp - 0x234], di
jne 0x40c31c
lea eax, [ebp - 0x234]
push eax
push edi
push edi
push 5
push edi
mov word [ebp - 0x234], di
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, str.All_Files
call fcn.00449bac
test al, al
je 0x40c3ae
push 0x65
mov eax, ebx
call fcn.00402b6a
jmp 0x40c43d
cmp word [ebp - 0x234], di
jne 0x40c35a
lea esi, [ebp - 0x234]
call fcn.00449259
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, str.Video_Files
call fcn.00449bac
test al, al
je 0x40c396
push 0x66
mov eax, ebx
call fcn.00402b6a
push ebx
call fcn.00417e03
jmp 0x40c43d
mov ecx, dword [eax]
push eax
mov dword [ebp - 8], ecx
call fcn.0052009d
pop ecx
mov eax, dword [ebp - 8]
cmp eax, edi
jne 0x40c38a
jmp 0x40c5f3
mov ecx, dword [eax]
push eax
mov dword [ebp - 8], ecx
call fcn.0052009d
pop ecx
mov eax, dword [ebp - 8]
cmp eax, edi
jne 0x40c3a2
jmp 0x40c5f3
push 0x66
mov eax, ebx
call fcn.00402f5b
cmp eax, 0x63
je 0x40c566
cmp word [ebp - 0x234], di
jne 0x40c40e
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x234]
push eax
push edi
push edi
push 0xd
push edi
mov word [ebp - 0x234], di
call esi
cmp word [ebp - 0x234], di
jne 0x40c40e
lea eax, [ebp - 0x234]
push eax
push edi
push edi
push 5
push edi
mov word [ebp - 0x234], di
call esi
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, str.Audio_Files
call fcn.00449bac
test al, al
je 0x40c57e
push 0x66
mov eax, ebx
call fcn.00402b6a
push ebx
call fcn.00417c2f
movzx eax, byte [ebx + 0x7549]
push eax
lea edi, [ebp - 0x5c4]
call fcn.00486add
xor esi, esi
cmp dword [ebp - 0x10], esi
jbe 0x40c494
cmp esi, dword [ebp - 0x10]
jae 0x40c46e
lea eax, [ebp - 0x7cc]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + esi*4]
call fcn.00401016
push 3
lea eax, [ebp - 0x5c4]
push eax
lea eax, [ebp - 0x7cc]
push eax
call fcn.0052094c
add esp, 0xc
test eax, eax
je 0x40c587
inc esi
cmp esi, dword [ebp - 0x10]
jb 0x40c45c
lea eax, [ebp - 0x234]
push eax
push str.LoadFromFolder
push str.Settings
call fcn.00444b22
push 0x66
mov eax, ebx
call fcn.00402fa6
mov edi, dword [ebx + 0x2397]
mov ecx, eax
mov eax, ebx
lea esi, [ebp - 0x28]
call fcn.004096b4
mov esi, dword [ebx + 4]
lea eax, [ebp - 0x14]
push 0
mov dword [ebp - 0x1c], eax
push str.Add_Files
lea eax, [ebp - 0x3bc]
mov dword [ebp - 0x18], edi
call fcn.004775d4
lea eax, [ebp - 0x28]
mov dword [ebp - 0x23b], eax
mov eax, esi
lea ecx, [ebp - 0x3bc]
mov dword [ebp - fcn.00477ec4], 0x5541c0
mov dword [ebp - 0x2fa], 0x5544bc
mov dword [ebp - 0x2ca], 0x554634
mov dword [ebp - 0x23f], 2
call fcn.00477802
lea eax, [ebp - 0x3bc]
push eax
call fcn.00403f21
push ebx
call fcn.004144f7
push 0x65
mov eax, ebx
call fcn.0040348b
push eax
push 0x65
mov eax, ebx
call fcn.00403601
mov esi, ebx
call fcn.004152ec
lea eax, [ebp - 0x28]
call fcn.004096d5
jmp 0x40c5ec
mov ecx, dword [eax]
push eax
mov dword [ebp - 8], ecx
call fcn.0052009d
pop ecx
mov eax, dword [ebp - 8]
cmp eax, edi
jne 0x40c55a
jmp 0x40c5f3
mov ecx, dword [eax]
push eax
mov dword [ebp - 8], ecx
call fcn.0052009d
pop ecx
mov eax, dword [ebp - 8]
cmp eax, edi
jne 0x40c572
jmp 0x40c5f3
mov eax, dword [ebx + 4]
push 0x54ad30
push str.Same_Source_and_Destination
push str.The_file_being_added_is_already_on_the_destination_drive.__Did_you_mean_to_copy_the_disc_
push eax
mov eax, str.Copy_disc
call fcn.0046ea09
test al, al
je 0x40c5d7
push 9
add ebx, 0x2340
push dword [ebx]
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push 0x1f4
push 9
push dword [ebx]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40c5d7
mov ecx, dword [eax]
push eax
mov dword [ebp - 8], ecx
call fcn.0052009d
pop ecx
mov eax, dword [ebp - 8]
test eax, eax
jne 0x40c5cb
jmp 0x40c5f3
mov ecx, dword [eax]
push eax
mov dword [ebp - 8], ecx
call fcn.0052009d
pop ecx
mov eax, dword [ebp - 8]
test eax, eax
jne 0x40c5e0
lea esi, [ebp - 0x14]
call fcn.004e6ca2
pop edi
pop esi
pop ebx
leave
ret 4