Function at 0x1000aa40
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017b457
mov eax, dword fs:[0]
push eax
mov eax, 0x1868
call fcn.100a7a90
mov eax, dword [0x101e3070]
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 ebx, ecx
mov edi, dword [ebx]
lea eax, [ebp - 0x810]
push 0x800
push 0
push eax
call fcn.10154a20
add esp, 0xc
lea eax, [ebp - 0x810]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
je 0x1000aaad
or eax, 0xffffffff
jmp 0x1000b1f9
cmp word [ebp - 0x810], 0
jne 0x1000aabb
xor ecx, ecx
jmp 0x1000aad3
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1000aac4
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
lea esi, [ebx + 0x7c]
push eax
mov ecx, esi
call fcn.10005450
push 0x400
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1000aaa5
cmp word [ebp - 0x810], 0
jne 0x1000ab09
xor ecx, ecx
jmp 0x1000ab21
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1000ab12
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebx + 0x13c]
call fcn.10005450
sub esp, 0x18
mov ecx, edi
push esp
call fcn.10001510
lea ecx, [ebp - 0x1828]
call fcn.10012050
push 0x101d37f0
mov edx, esi
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1844]
call fcn.1000dc00
push str.ConnectedDevicesPlatform
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x185c]
call fcn.1000db90
add esp, 0x20
mov edi, eax
cmp esi, edi
je 0x1000abbd
cmp dword [esi + 0x14], 8
jb 0x1000ab96
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.10005bc0
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x1000abae
mov eax, dword [esi]
jmp 0x1000abb0
mov eax, esi
xor ecx, ecx
mov word [eax], cx
mov ecx, esi
push edi
call fcn.1000c9a0
mov eax, dword [ebp - 0x1848]
cmp eax, 8
jb 0x1000abdb
inc eax
lea ecx, [ebp - 0x185c]
push eax
push dword [ebp - 0x185c]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1848], 7
mov word [ebp - 0x185c], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x1830]
mov dword [ebp - 0x184c], 0
cmp eax, 8
jb 0x1000ac19
inc eax
lea ecx, [ebp - 0x1844]
push eax
push dword [ebp - 0x1844]
call fcn.10005bc0
push 0x101d37f0
mov edx, esi
lea ecx, [ebp - 0x1874]
call fcn.1000dc00
push 0x101d37f4
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1844]
call fcn.1000db90
push 0x101d37f0
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x185c]
call fcn.1000db90
mov ecx, eax
lea edi, [ebx + 0x94]
add esp, 0xc
mov dword [ebp - 0x182c], ecx
cmp edi, ecx
je 0x1000acad
cmp dword [edi + 0x14], 8
jb 0x1000ac86
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.10005bc0
mov ecx, dword [ebp - 0x182c]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x1000ac9e
mov eax, dword [edi]
jmp 0x1000aca0
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.1000c9a0
mov eax, dword [ebp - 0x1848]
cmp eax, 8
jb 0x1000accb
inc eax
lea ecx, [ebp - 0x185c]
push eax
push dword [ebp - 0x185c]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1848], 7
mov word [ebp - 0x185c], ax
mov eax, dword [ebp - 0x1830]
mov dword [ebp - 0x184c], 0
cmp eax, 8
jb 0x1000ad06
inc eax
lea ecx, [ebp - 0x1844]
push eax
push dword [ebp - 0x1844]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1830], 7
mov word [ebp - 0x1844], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x1860]
mov dword [ebp - 0x1834], 0
cmp eax, 8
jb 0x1000ad44
inc eax
lea ecx, [ebp - 0x1874]
push eax
push dword [ebp - 0x1874]
call fcn.10005bc0
push 0x101d37f0
mov edx, esi
lea ecx, [ebp - 0x1874]
call fcn.1000dc00
push str.L.Devel.Config
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1844]
call fcn.1000db90
mov ecx, eax
lea edi, [ebx + 0xdc]
add esp, 8
mov dword [ebp - 0x182c], ecx
cmp edi, ecx
je 0x1000adc2
cmp dword [edi + 0x14], 8
jb 0x1000ad9b
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.10005bc0
mov ecx, dword [ebp - 0x182c]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x1000adb3
mov eax, dword [edi]
jmp 0x1000adb5
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.1000c9a0
mov eax, dword [ebp - 0x1830]
cmp eax, 8
jb 0x1000ade0
inc eax
lea ecx, [ebp - 0x1844]
push eax
push dword [ebp - 0x1844]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1830], 7
mov word [ebp - 0x1844], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x1860]
mov dword [ebp - 0x1834], 0
cmp eax, 8
jb 0x1000ae1e
inc eax
lea ecx, [ebp - 0x1874]
push eax
push dword [ebp - 0x1874]
call fcn.10005bc0
push 0x101d37f0
mov edx, esi
lea ecx, [ebp - 0x1874]
call fcn.1000dc00
push str.L.Devel.cdp
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x185c]
call fcn.1000db90
push 0x101d37f0
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1844]
call fcn.1000db90
mov ecx, eax
lea edi, [ebx + 0xf4]
add esp, 0xc
mov dword [ebp - 0x182c], ecx
cmp edi, ecx
je 0x1000aeb2
cmp dword [edi + 0x14], 8
jb 0x1000ae8b
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.10005bc0
mov ecx, dword [ebp - 0x182c]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x1000aea3
mov eax, dword [edi]
jmp 0x1000aea5
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.1000c9a0
mov eax, dword [ebp - 0x1830]
cmp eax, 8
jb 0x1000aed0
inc eax
lea ecx, [ebp - 0x1844]
push eax
push dword [ebp - 0x1844]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1830], 7
mov word [ebp - 0x1844], ax
mov eax, dword [ebp - 0x1848]
mov dword [ebp - 0x1834], 0
cmp eax, 8
jb 0x1000af0b
inc eax
lea ecx, [ebp - 0x185c]
push eax
push dword [ebp - 0x185c]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1848], 7
mov word [ebp - 0x185c], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x1860]
mov dword [ebp - 0x184c], 0
cmp eax, 8
jb 0x1000af49
inc eax
lea ecx, [ebp - 0x1874]
push eax
push dword [ebp - 0x1874]
call fcn.10005bc0
push 0x101d37f0
mov edx, esi
lea ecx, [ebp - 0x1874]
call fcn.1000dc00
push str.L.Devel.cdpresource
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1844]
call fcn.1000db90
mov ecx, eax
lea edi, [ebx + 0x10c]
add esp, 8
mov dword [ebp - 0x182c], ecx
cmp edi, ecx
je 0x1000afc7
cmp dword [edi + 0x14], 8
jb 0x1000afa0
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.10005bc0
mov ecx, dword [ebp - 0x182c]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x1000afb8
mov eax, dword [edi]
jmp 0x1000afba
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.1000c9a0
mov eax, dword [ebp - 0x1830]
cmp eax, 8
jb 0x1000afe5
inc eax
lea ecx, [ebp - 0x1844]
push eax
push dword [ebp - 0x1844]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1830], 7
mov word [ebp - 0x1844], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x1860]
mov dword [ebp - 0x1834], 0
cmp eax, 8
jb 0x1000b023
inc eax
lea ecx, [ebp - 0x1874]
push eax
push dword [ebp - 0x1874]
call fcn.10005bc0
push 0x101d37f0
mov edx, esi
lea ecx, [ebp - 0x1874]
call fcn.1000dc00
push str.CDPGlobalSettings.cdp
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1844]
call fcn.1000db90
add esp, 8
lea esi, [ebx + 0x124]
mov edi, eax
cmp esi, edi
je 0x1000b095
cmp dword [esi + 0x14], 8
jb 0x1000b06e
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.10005bc0
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x1000b086
mov eax, dword [esi]
jmp 0x1000b088
mov eax, esi
xor ecx, ecx
mov word [eax], cx
mov ecx, esi
push edi
call fcn.1000c9a0
mov eax, dword [ebp - 0x1830]
cmp eax, 8
jb 0x1000b0b3
inc eax
lea ecx, [ebp - 0x1844]
push eax
push dword [ebp - 0x1844]
call fcn.10005bc0
xor eax, eax
mov dword [ebp - 0x1830], 7
mov word [ebp - 0x1844], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x1860]
mov dword [ebp - 0x1834], 0
cmp eax, 8
jb 0x1000b0f1
inc eax
lea ecx, [ebp - 0x1874]
push eax
push dword [ebp - 0x1874]
call fcn.10005bc0
push 0x1000
lea eax, [ebp - 0x1810]
push 0
push eax
call fcn.10154a20
push 0x1000
lea eax, [ebp - 0x1810]
mov edx, 0x3c0
push eax
push 0x1db4a5
push str.2c972eefd21fa805c054d598a826eaf8
push str.c116c9ad0d446d85180d3af8181d29358762260e15429338a43204fc8aff5198
mov ecx, str.17F0507D0D85618180D6B44240762EA35E4B8BB6605E591E4774924CA5C2B56AE65168C72D9AEAF17E228CB4107E958F446B09CC0AD54520CB3A00F65394E125E4CDE6B397FD4BB3C68DD91D642BB333BC8247C235F1D4005AD07CC1ECCA66533BF5AEE80D228D8ACAF991CDE240C7C21CD80B5351445C1C448357B99EF9AA9EB29F17D313DC32A1A188B75D423D159E39E9A00FC0C9C975E22532E95113743114FB4CB610A79BE5629D7B0841A6D3CBB69F451B35B1C890363DCC3C7D081309C585608A1CA698D3A9612AA0EBB6DE3385D313E8DE53F5FB14ABB964AF6153D705ED585BFF0B2DCDF01A051598EF111526652C1282A3698C53DDEDC1D6D17931E0FE459216A13C26654DD1B5CCE2C79CDC489C7857EF182A0580514EA29F4AAF4A6D46BF504A314EB73B2867615A6E8C476767A1A015B51DF84307CD18CB54ECF2883BAB67CD11435B3FC5367CB98600B508CBA042D50994E111FF4AD5C4DDB2B2D3E724C51DB64AECA195EB21E3A595292F49B3E0E7B865C05F0E83E528336F6D59C626ABBDFA27139D9BE3F5DE8656CF59550DDAFCA825E25DA59A8EA4168642363C73358CF83A09EF7285AE66EC1AB4DF7D582C2C2C7C6C39ABEBAE5365D1A5467E3E1BE209F41EF20D38E46F2F2EF0B1FFD62B899552BE2659A55FD0F02E
call fcn.10011770
add esp, 0x20
test eax, eax
jle 0x1000b16c
cmp byte [ebp - 0x1810], 0
jne 0x1000b142
xor ecx, ecx
jmp 0x1000b159
lea ecx, [ebp - 0x1810]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000b150
sub ecx, edx
push ecx
lea eax, [ebp - 0x1810]
push eax
lea ecx, [ebx + 0x154]
call fcn.100056d0
push 0x1000
lea eax, [ebp - 0x1810]
mov edx, 0x3c0
push eax
push 0x1db4a5
push str.2c972eefd21fa805c054d598a826eaf8
push str.c116c9ad0d446d85180d3af8181d29358762260e15429338a43204fc8aff5198
mov ecx, str.3959265973F8DB3F6AF23116FC598F88EE4B9535F7892F230ABC7A539E21BE6A4E5C8AC41AE36431B80E83A8F06F869776AAEEF03D15592FD6CB4A6D7FCC0EBF07F13CB357C68F3391A27A03ED5CE359E9E01525A3F2B9C3D4191199441764E7C35A1E2F25F4474F469A24385CA968F4F030125B86C3500E140B7E37024CB0D957D992B018FC1EA81F26C578B7B68D2034F437FCA5A8C5E46F1B9F019B4D4D4AA56B82A1DE51F7C1CBAC38ADCAAD90703FEE5D8270D1CED18FA57BCD4F2B4812CAF0CDDE94FE0E4CA910FC37669947152AB9E69546C5CB70E67C9BB83152E058F8A9F2E0B374E8F165284E8DF87A422F75713169A1E421ABDC3AE983D38E8EB949445B9AA88065380AA7F1C0CA81153FB6A19F8193B459703485C6CB49C64462D35BD91E521AB5506779AA481696E92612688D384622FBED68CB45BD84CEEF69A70DFCFBEE9A1AA6F36B790B60FEEA39BD61C977380B8A65E13A49F1A4AFEB3F55C96294BA7BEC6E930C36AFE5E8A70559637F43A55FA7E5DA099169548711FE1515362E29BB5B7E4E093FB1B889A817559B063D05B36F2B1D1C63829E0AA11036FDD31B0C0B2BB251A5AC83B4917E642EB2A759064A620C7BF068D1D77D84944FBB78BD756BEB542EAA45A25DF25D9BF5E300D56919EA6845AC5D83D15EEDBE
call fcn.10011770
add esp, 0x14
test eax, eax
jle 0x1000b1cf
cmp byte [ebp - 0x1810], 0
jne 0x1000b1aa
xor ecx, ecx
jmp 0x1000b1bc
lea ecx, [ebp - 0x1810]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000b1b3
sub ecx, edx
push ecx
lea eax, [ebp - 0x1810]
push eax
lea ecx, [ebx + 0x16c]
call fcn.100056d0
mov ecx, ebx
call fcn.1000aa10
mov eax, dword [ebp - 0x1814]
cmp eax, 8
jb 0x1000b1f4
inc eax
lea ecx, [ebp - 0x1828]
push eax
push dword [ebp - 0x1828]
call fcn.10005bc0
mov eax, 1
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.100a66bf
mov esp, ebp
pop ebp
ret