Function at 0x698330
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x72cddd
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor eax, eax
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x78], 0
mov word [ebp - 0x88], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], eax
mov word [ebp - 0x40], ax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xf8], 7
mov dword [ebp - 0xfc], eax
mov word [ebp - 0x10c], ax
mov dword [ebp - 0xe0], 0xf
mov dword [ebp - 0xe4], eax
mov byte [ebp - 0xf4], al
mov dword [ebp - 0xc8], 0xf
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xdc], al
mov dword [ebp - 0xb0], 0xf
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xc4], al
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 3
call fcn.005241e0
push 0
push 0x783f96
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
call fcn.00424a50
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 5
call fcn.00429050
push edi
mov byte [ebp - 4], 6
mov dword [ebp - 0x12c], 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x698a91
test al, 1
jne 0x698a91
mov esi, edi
lea ecx, [esi + 1]
jmp 0x698470
mov al, byte [esi]
inc esi
test al, al
jne 0x698470
sub esi, ecx
mov ecx, dword [ebp - 0x30]
cmp esi, ecx
ja 0x698496
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], esi
cmovae eax, dword [ebp - 0x40]
xor ecx, ecx
mov word [eax + esi*2], cx
jmp 0x6984a5
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0x40]
push 0
push eax
call fcn.00426590
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push esi
cmovae eax, dword [ebp - 0x40]
push eax
push 0xffffffffffffffff
push edi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x124]
push 0
push 0x19000
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
call fcn.0067d560
add esp, 0x10
lea ecx, [ebp - 0x124]
call fcn.00429100
push eax
lea ecx, [ebp - 0x70]
call fcn.00424600
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00696a40
add esp, 0xc
mov byte [ebp - 4], 6
cmp dword [ebp - 0x5c], 8
jb 0x698525
push dword [ebp - 0x70]
call fcn.00428680
add esp, 4
test ebx, ebx
je 0x6985d7
push ebx
lea ecx, [ebp - 0xa0]
call fcn.00424600
mov esi, eax
push str.songid
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 8
call fcn.00424600
push esi
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
call fcn.00428000
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xa
call fcn.004266f0
cmp dword [ebp - 0x14], 8
jb 0x698583
push dword [ebp - 0x28]
call fcn.00428680
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
cmp dword [ebp - 0x5c], 8
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
jb 0x6985a8
push dword [ebp - 0x70]
call fcn.00428680
add esp, 4
xor eax, eax
mov dword [ebp - 0x5c], 7
cmp dword [ebp - 0x8c], 8
mov dword [ebp - 0x60], 0
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 6
jb 0x6985d7
push dword [ebp - 0xa0]
call fcn.00428680
add esp, 4
push 1
push 0
sub esp, 0x30
mov ecx, esp
push edi
call fcn.004c7d30
lea ecx, [ebp - 0x138]
call fcn.004d0e90
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xb
call fcn.004c9290
test al, al
jne 0x698a82
push 1
lea ecx, [ebp - 0x138]
call fcn.004d1660
push 1
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x114], eax
call fcn.004d1640
mov edi, eax
mov ecx, edi
call fcn.004cadf0
mov ecx, eax
call fcn.004d2ae0
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
push 0
cmovae ecx, dword [ebp - 0x88]
push 0
push 0
push 0
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x128]
push eax
push 0
push 0xffffffffffffffff
push 0x783bbc
push 1
push 0
push 0
push 0
push ecx
call fcn.005bee00
add esp, 0x34
test eax, eax
je 0x698a64
push 0
push 0
push dword [ebp - 0x128]
lea ecx, [ebp - 0x180]
call fcn.005266a0
cmp byte [ebp - 0x154], 0
jne 0x698a82
lea ecx, [ebp - 0x180]
call fcn.00523990
mov esi, eax
lea eax, [ebp - 0x12c]
push eax
push 0x762944
mov ecx, esi
call fcn.00523d40
cmp dword [ebp - 0x12c], 1
jne 0x698a64
lea eax, [ebp - 0x180]
xor ebx, ebx
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.006961a0
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.004368a0
lea ecx, [ebp - 0xa0]
call fcn.004245a0
cmp dword [ebp - 0x48], ebx
je 0x698747
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push 0x762948
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.006bcab2
add esp, 8
test eax, eax
jne 0x698724
mov ebx, 0x3b5
jmp 0x698747
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push 0x74b770
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.006bcab2
add esp, 8
mov ecx, 0xfde9
test eax, eax
cmove ebx, ecx
push str.sync_lyrics
mov ecx, esi
call fcn.005239c0
test eax, eax
je 0x69876f
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, eax
call fcn.005241c0
push eax
push ebx
call fcn.006970a0
add esp, 0xc
push str.item
mov ecx, esi
call fcn.005239c0
mov esi, eax
test esi, esi
je 0x698a64
push 0x74b74c
mov ecx, esi
call fcn.00523cd0
mov dword [ebp - 0x110], eax
test eax, eax
je 0x6987f0
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov ecx, dword [ebp - 0x114]
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0xc
mov eax, dword [ecx]
call dword [eax + 0x20]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push 0
push dword [ebp - 0x110]
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0xd
call dword [eax + 0x20]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push str.album
mov ecx, esi
call fcn.00523cd0
mov dword [ebp - 0x110], eax
test eax, eax
je 0x69885b
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov ecx, dword [ebp - 0x114]
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0xe
mov eax, dword [ecx]
call dword [eax + 0x28]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push 0
push dword [ebp - 0x110]
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0xf
call dword [eax + 0x28]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push 0x74b754
mov ecx, esi
call fcn.00523cd0
mov dword [ebp - 0x110], eax
test eax, eax
je 0x6988c6
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov ecx, dword [ebp - 0x114]
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0x10
mov eax, dword [ecx]
call dword [eax + 0x24]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push 0
push dword [ebp - 0x110]
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x11
call dword [eax + 0x24]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push str.genname
mov ecx, esi
call fcn.00523cd0
mov dword [ebp - 0x110], eax
test eax, eax
je 0x698931
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov ecx, dword [ebp - 0x114]
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0x12
mov eax, dword [ecx]
call dword [eax + 0x30]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
push 0
push dword [ebp - 0x110]
lea ecx, [ebp - 0x1c]
call fcn.004c5540
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x13
call dword [eax + 0x30]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.004c5890
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
push str.saledate
call fcn.00523d40
test eax, eax
jne 0x698966
mov ecx, dword [ebp - 0x114]
push dword [ebp - 0x118]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x118]
call dword [eax + 0x34]
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
push str.tracknum
call fcn.00523d40
test eax, eax
jne 0x69899b
mov ecx, dword [ebp - 0x114]
push dword [ebp - 0x118]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x118]
call dword [eax + 0x38]
push str.image
mov ecx, esi
call fcn.00523cd0
test eax, eax
je 0x6989c5
push 0
push eax
call fcn.00695370
add esp, 8
test al, al
je 0x6989c5
push 0
push edi
call fcn.00697820
add esp, 8
push str.lyrics
mov ecx, esi
call fcn.005239c0
test eax, eax
je 0x698a3f
xor ecx, ecx
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], cx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
push ecx
mov ecx, eax
call fcn.005241c0
push eax
push ebx
call fcn.00698cc0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00694e10
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
call fcn.00427c20
lea ecx, [ebp - 0xa0]
call fcn.004246d0
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.006976a0
add esp, 8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x28]
call fcn.004246d0
lea eax, [ebp - 0xf4]
push eax
push edi
call fcn.006979f0
add esp, 8
lea ecx, [ebp - 0x138]
push dword [ebp - 0x11c]
push 1
push 3
call fcn.004d1270
lea ecx, [ebp - 0x180]
call fcn.005237c0
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x698a82
push eax
call fcn.006b3261
add esp, 4
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 6
call fcn.004d10a0
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 5
call fcn.00428810
cmp dword [ebp - 0x44], 0x10
jb 0x698ab1
push dword [ebp - 0x58]
call fcn.00428680
add esp, 4
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 3
mov dword [ebp - method.TiXmlDocument.virtual_0], vtable.TiXmlDocument.0
cmp eax, 0x805850
je 0x698ae7
push eax
call fcn.006b3261
add esp, 4
lea ecx, [ebp - 0x180]
call fcn.00523740
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x698b41
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x11d]
push ecx
push dword [ebp - 0xa8]
push eax
call fcn.00561300
push dword [ebp - 0xac]
call fcn.00428680
add esp, 0x14
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
lea ecx, [ebp - 0xf4]
call fcn.00561680
cmp dword [ebp - 0x2c], 8
jb 0x698b5d
push dword [ebp - 0x40]
call fcn.00428680
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
cmp dword [ebp - 0x74], 8
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
jb 0x698b85
push dword [ebp - 0x88]
call fcn.00428680
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006b3266
mov esp, ebp
pop ebp
ret