Function at 0x100069a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007ca40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c8
push ebx
mov ebx, ecx
mov dword [ebp - 0x14], edx
push esi
push edi
test ebx, ebx
je 0x10006cd8
cmp byte [ebx], 0
je 0x10006cd8
cmp byte [0x1008dfd0], 0
jne 0x10006b7c
push 1
push 0x1a
push 0x1008dfd0
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
jne 0x10006a0b
mov eax, 0x3a
mov byte [0x1008dfd0], 0x43
mov word [0x1008dfd1], ax
mov ecx, 0x1008dfd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10006a13
sub ecx, edx
cmp byte [ecx + 0x1008dfcf], 0x5c
jne 0x10006a2b
mov byte [ecx + 0x1008dfcf], al
mov edi, 0x1008dfd0
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006a31
mov ecx, 6
mov esi, str.PolacVst_Loader1.1.10_
rep movsd dword es:[edi], dword [esi]
push 0
push 0x1008dfd0
movsw word es:[edi], word [esi]
call fcn.10043da7
add esp, 8
cmp eax, 0xffffffff
jne 0x10006a65
mov ecx, 0x1008dfd0
call fcn.100019a0
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1008dfd0]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x1d1], al
test al, al
jne 0x10006a70
lea ecx, [ebp - 0x1d0]
dec ecx
nop dword [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10006a90
mov eax, dword [str.settings.ini]
mov dword [ecx], eax
mov eax, dword [0x10086bdc]
mov dword [ecx + 4], eax
mov eax, dword [0x10086be0]
mov dword [ecx + 8], eax
mov al, byte [0x10086be4]
mov byte [ecx + 0xc], al
lea eax, [ebp - 0x1d0]
push 0
push eax
call fcn.10043da7
add esp, 8
cmp eax, 0xffffffff
lea eax, [ebp - 0x1d0]
push eax
jne 0x10006b24
lea ecx, [ebp - 0x44]
call fcn.1000ee30
cmp dword [ebp - 0x34], 0
je 0x10006b0a
cmp dword [ebp - 0x30], 0xf
lea eax, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
push eax
push 0x1008dfd0
push str.Path
push str.Settings
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x44]
jmp 0x10006b77
push 0x1008dfd0
push str.Path
push str.Settings
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
lea ecx, [ebp - 0x44]
jmp 0x10006b77
lea ecx, [ebp - 0x5c]
call fcn.1000ee30
push 0x1008dfd0
sub esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x5c]
push eax
call fcn.10017720
cmp dword [ebp - 0x30], 0xf
lea eax, [ebp - 0x44]
push 0x104
cmova eax, dword [ebp - 0x44]
push eax
push 0x1008dfd0
call fcn.10043a80
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.1000ed90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.100174e0
push 0x1008dfd0
lea ecx, [ebp - 0x2c]
call fcn.1000ee30
mov dword [ebp - 4], 1
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
push 0
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.10043da7
add esp, 8
cmp eax, 0xffffffff
jne 0x10006bbb
cmp dword [ebp - 0x18], 0xf
lea ecx, [ebp - 0x2c]
cmova ecx, dword [ebp - 0x2c]
call fcn.100019a0
mov edx, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
push 0xa
push str.config.xml
cmp eax, 0xa
jb 0x10006bf2
cmp edx, 0xf
lea esi, [ebp - 0x2c]
lea eax, [ecx + 0xa]
cmova esi, dword [ebp - 0x2c]
add esi, ecx
mov dword [ebp - 0x1c], eax
push esi
call fcn.1001f8e0
add esp, 0xc
mov byte [esi + 0xa], 0
jmp 0x10006c03
mov byte [ebp - 0x10], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x10]
push 0xa
call fcn.100118d0
cmp dword [ebp - 0x18], 0xf
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0xa8]
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.10018990
push 0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.1001a170
test al, al
je 0x10006c91
push str.PVST
lea ecx, [ebp - 0xa8]
call fcn.10019ba0
mov esi, eax
test esi, esi
je 0x10006c91
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0xffffffff
push eax
push str.Version
mov ecx, esi
call fcn.1001a9c0
cmp dword [ebp - 0x10], 0x3e8
jne 0x10006c91
push str.Global
mov ecx, esi
call fcn.10019ba0
test eax, eax
je 0x10006c91
push str.Settings
mov ecx, eax
call fcn.10019ba0
test eax, eax
je 0x10006c91
lea ecx, [ebp - 0x14]
push ecx
push ebx
mov ecx, eax
call fcn.1001a9c0
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0xa8], vtable.TiXmlDocument.0
cmp ecx, 0x1008cd20
je 0x10006cb2
push ecx
call fcn.1001d92b
add esp, 4
lea ecx, [ebp - 0xa8]
call fcn.10018db0
lea ecx, [ebp - 0x2c]
call fcn.1000ed90
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
mov eax, edx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret