Function at 0x1000f6ee
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x1002b1f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x38], ebp
push 1
push dword [ebp - 0x38]
push str.void___cdecl_CheckXmpPlayList_void_
call fcn.1000b484
mov esi, eax
add esp, 0xc
mov eax, 0x10021f88
cmp esi, edi
jne 0x1000f72b
mov esi, eax
push edi
push edi
push edi
push edi
push eax
push 0x10021f64
push esi
lea ecx, [ebp - 0x98]
call fcn.1000a370
cmp esi, edi
jne 0x1000f747
push ebp
pop ebp
push str.ProgramDataPlaylistsDefault.xml
lea ecx, [ebp - 0x20]
call fcn.10006c32
mov esi, 0x10021ef8
push esi
call fcn.10005425
pop ecx
pop ecx
test eax, eax
jne 0x1000f79c
push 1
sub esp, 0x1c
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x40], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push str._XmpSetup_playlist_path
push edi
push esi
call fcn.10009855
pop ecx
pop ecx
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.10001786
mov ecx, eax
call fcn.1000a33f
cmp dword [ebp - 8], 8
mov eax, dword [ebp - 0x1c]
jae 0x1000f7a8
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000f83c
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x17
push edi
push 0x1001f804
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], edi
call fcn.1000676c
test eax, eax
jl 0x1000f81c
mov esi, dword [ebp - 0x24]
cmp esi, edi
je 0x1000f81c
cmp dword [ebp - 8], 8
mov eax, dword [ebp - 0x1c]
jae 0x1000f7eb
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x68]
call fcn.10004167
push eax
mov ecx, esi
call fcn.1000420f
mov bx, ax
neg bx
lea eax, [ebp - 0x68]
sbb bl, bl
push eax
inc bl
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test bl, bl
je 0x1000f85f
lea ecx, [ebp - 0x24]
call fcn.10004a31
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x28]
cmp eax, edi
je 0x1000f82f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
cmp eax, edi
je 0x1000f83c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x98]
call fcn.1000be71
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10018dd2
leave
ret
mov ecx, dword [ebp - 0x24]
cmp ecx, edi
jne 0x1000f870
push 0x80004003
call fcn.100131a0
lea eax, [ebp - 0x3c]
push eax
call fcn.10006399
push dword [eax]
lea ecx, [ebp - 0x28]
call fcn.10005f09
cmp dword [eax], edi
mov eax, dword [ebp - 0x3c]
sete bl
cmp eax, edi
je 0x1000f895
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test bl, bl
jne 0x1000f814
mov esi, dword [ebp - 0x28]
cmp esi, edi
je 0x1000f866
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
mov ebx, str.version
push ebx
call fcn.10005e08
lea eax, [ebp - 0x7c]
push eax
mov ecx, esi
call fcn.100072b1
mov esi, eax
lea edi, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x7c]
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, 0x10021ef8
push edi
call fcn.10005425
pop ecx
test eax, eax
jne 0x1000f90b
push 1
push dword [ebp - 0x60]
push str.Playlist_version_
push eax
push edi
call fcn.10009855
pop ecx
pop ecx
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.100016a4
mov ecx, eax
call fcn.1000a33f
push dword [ebp - 0x60]
push 0x10021eb8
call dword [sym.imp.MSVCR90.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
jne 0x1000fc6a
push 0x10021eb0
lea ecx, [ebp - 0x68]
mov word [ebp - 0x68], ax
call fcn.100053df
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x58]
call fcn.10004142
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x1000f866
lea eax, [ebp - 0x58]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push ebx
call fcn.10005e08
mov ecx, esi
call fcn.10007254
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x28]
xor esi, esi
cmp ecx, esi
je 0x1000f866
lea eax, [ebp - 0x30]
push eax
call fcn.100062f4
push edi
call fcn.10005425
pop ecx
test eax, eax
jne 0x1000f9c4
cmp dword [ebp - 0x30], esi
je 0x1000f866
mov ecx, dword [ebp - 0x30]
push 1
call fcn.100041e4
push eax
push str.node_number_
push esi
push edi
call fcn.10009855
pop ecx
pop ecx
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.100015a8
mov ecx, eax
call fcn.1000a33f
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x30], esi
je 0x1000f866
mov ecx, dword [ebp - 0x30]
call fcn.100041e4
cmp dword [ebp - 0x2c], eax
jge 0x1000fc0e
mov eax, dword [ebp - 0x30]
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov esi, dword [eax]
lea ecx, [ebp - 0x34]
add esi, 0x1c
call fcn.10005ea5
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call dword [esi]
mov ecx, dword [ebp - 0x34]
cmp ecx, ebx
je 0x1000f866
lea eax, [ebp - 0x3c]
push eax
call fcn.10007178
mov eax, dword [eax]
cmp eax, ebx
je 0x1000fa1d
mov eax, dword [eax]
jmp 0x1000fa1f
xor eax, eax
push eax
lea ecx, [ebp - 0x44]
call fcn.100052f3
mov ecx, dword [ebp - 0x3c]
cmp ecx, ebx
je 0x1000fa37
call fcn.100062c9
mov dword [ebp - 0x3c], ebx
push edi
call fcn.10005425
pop ecx
test eax, eax
jne 0x1000fa80
push 1
push dword [ebp - 0x44]
push 0x10021e9c
push dword [ebp - 0x2c]
push str.bstr_name
push ebx
push edi
call fcn.10009855
pop ecx
pop ecx
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.1000152a
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.100016a4
mov ecx, eax
call fcn.1000a33f
mov ecx, dword [ebp - 0x34]
inc dword [ebp - 0x2c]
cmp ecx, ebx
je 0x1000f866
lea eax, [ebp - 0x6c]
push eax
call fcn.1000632a
mov esi, dword [ebp - 0x6c]
cmp esi, ebx
jne 0x1000fab1
push dword [ebp - 0x44]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x34]
cmp eax, ebx
jmp 0x1000fbfd
push ecx
mov ecx, esp
mov dword [ebp - 0x80], esp
push str.stype
call fcn.10005e08
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call fcn.100071f4
cmp dword [ebp - 0x48], ebx
jne 0x1000fad9
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x1000fa9e
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xa8]
push eax
call fcn.10004197
xor ecx, ecx
mov word [ebp - 0x58], cx
push eax
lea ecx, [ebp - 0x58]
call fcn.10001370
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0xa8]
push eax
call ebx
push 8
pop eax
cmp ax, word [ebp - 0x58]
jne 0x1000fbda
cmp dword [ebp - 0x50], 0
je 0x1000fbda
push dword [ebp - 0x50]
call dword [sym.imp.MSVCR90.dll_wcslen]
pop ecx
test eax, eax
jbe 0x1000fbda
push dword [ebp - 0x50]
push str.kankan
call dword [sym.imp.MSVCR90.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
je 0x1000fb57
push dword [ebp - 0x50]
push 0x10021e70
call dword [sym.imp.MSVCR90.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
jne 0x1000fba7
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x1000f866
push dword [ebp - 0x34]
lea eax, [ebp - 0x40]
push eax
call fcn.10006360
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1000fb7b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
dec dword [ebp - 0x2c]
push edi
call fcn.10005425
pop ecx
test eax, eax
jne 0x1000fba7
push 1
push str.find_it_node
push eax
push edi
call fcn.10009855
pop ecx
pop ecx
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.1000a33f
push edi
call fcn.10005425
pop ecx
test eax, eax
jne 0x1000fbda
push 1
push dword [ebp - 0x50]
push str.node_type_
push eax
push edi
call fcn.10009855
pop ecx
pop ecx
mov ecx, eax
call fcn.1000bba2
mov ecx, eax
call fcn.100016a4
mov ecx, eax
call fcn.1000a33f
lea eax, [ebp - 0x58]
push eax
call ebx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x44]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1000f9d0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1000f9d0
cmp dword [ebp - 8], 8
mov eax, dword [ebp - 0x1c]
jae 0x1000fc1a
lea eax, [ebp - 0x1c]
xor ecx, ecx
mov word [ebp - 0x7c], cx
push eax
lea ecx, [ebp - 0x7c]
call fcn.100053df
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x58]
call fcn.10004142
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x1000f866
lea eax, [ebp - 0x58]
push eax
call fcn.10004250
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x58]
push eax
call esi
lea eax, [ebp - 0x7c]
push eax
call esi
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x68]
push eax
call esi
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x1000fc7d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
test eax, eax
jmp 0x1000f834