Function at 0x418776
Capabilities:
Get common file path

Disassembly:
push 0x2f4
mov eax, 0x51a5fe
call fcn.004e63cc
mov esi, ecx
mov dword [ebp - 0x2e4], esi
xor ebx, ebx
lea eax, [ebp - 0x218]
push 0x208
push ebx
push eax
mov dword [ebp - 0x300], ebx
call fcn.004e7ca0
add esp, 0xc
lea eax, [ebp - 0x218]
push ebx
push 0x1a
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x419355
push ecx
push 0x570c74
lea ecx, [ebp - 0x2c8]
call fcn.004267f9
mov dword [ebp - 4], ebx
push ecx
push 0x570bc8
lea ecx, [ebp - 0x2fc]
call fcn.004267f9
mov byte [ebp - 4], 1
lea eax, [ebp - 0x218]
push ecx
push eax
lea ecx, [ebp - 0x280]
call fcn.0042800e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2fc]
push ecx
mov edx, eax
lea ecx, [ebp - 0x2b0]
call fcn.00405e0c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x2e0]
call fcn.00405e0c
pop ecx
pop ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b0]
call fcn.00421c43
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x280]
call fcn.00421c43
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c8]
call fcn.00421c43
xorps xmm0, xmm0
movlpd qword [ebp - 0x270], xmm0
mov dword [ebp - 0x270], ebx
call fcn.00426423
lea edx, [ebp - 0x270]
mov dword [ebp - 0x26c], eax
lea ecx, [ebp - 0x2e0]
call fcn.0040695e
push ecx
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.00429bfb
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x2fc]
push eax
lea edx, [ebp - 0x2e0]
lea ecx, [ebp - 0x298]
call fcn.00405e0c
pop ecx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
lea edi, [ebp - 0x298]
cmp dword [ebp - 0x284], 8
lea ecx, [ebp - 0x2fc]
mov edx, dword [0x570bf8]
cmovae edi, dword [ebp - 0x298]
call fcn.00407001
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 8
jb 0x418904
mov eax, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push edi
push eax
push str.AppID
push str.Main
call ebx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
cmp dword [ebp - 0x284], 8
lea edi, [ebp - 0x298]
mov edx, dword [0x575d2c]
lea ecx, [ebp - 0x2fc]
cmovae edi, dword [ebp - 0x298]
call fcn.00407001
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x14], 8
jb 0x418958
mov eax, dword [eax]
push edi
push eax
push str.PackageType
push str.Main
call ebx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
cmp dword [ebp - 0x284], 8
lea edi, [ebp - 0x298]
mov edx, dword [0x575d30]
lea ecx, [ebp - 0x2fc]
cmovae edi, dword [ebp - 0x298]
call fcn.00407001
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 8
jb 0x4189a6
mov eax, dword [eax]
push edi
push eax
push str.CommonType
push str.Main
call ebx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
cmp dword [0x570bf8], 0x196
je 0x418a3a
cmp dword [ebp - 0x284], 8
lea eax, [ebp - 0x2c8]
lea edi, [ebp - 0x298]
mov ecx, esi
cmovae edi, dword [ebp - 0x298]
push eax
call fcn.0041935b
mov byte [ebp - 4], 0x14
mov edx, eax
lea ecx, [ebp - 0x2fc]
call fcn.00409e26
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 8
jb 0x418a0e
mov eax, dword [eax]
push edi
push eax
push str.Language
push str.Main
call ebx
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2c8]
call fcn.00421eb9
cmp dword [0x575d28], 0
jne 0x418afd
xor edx, edx
lea eax, [esi + 0x924]
cmp dword [esi + 0x934], edx
mov ecx, 0x570c14
mov dword [ebp - 0x270], edx
cmovne ecx, eax
mov dword [ebp - 0x26c], edx
push ecx
lea ecx, [ebp - 0x280]
call fcn.004221f8
mov byte [ebp - 4], 0x16
lea edi, [ebp - 0x298]
cmp dword [ebp - 0x284], 8
lea edx, [ebp - 0x280]
lea ecx, [ebp - 0x2fc]
cmovae edi, dword [ebp - 0x298]
call fcn.00409e26
mov byte [ebp - 4], 0x17
cmp dword [eax + 0x14], 8
jb 0x418aaa
mov eax, dword [eax]
push edi
push eax
push str.AppType
push str.Main
call ebx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x26c]
cmp eax, 0x10
jb 0x418ae5
inc eax
push eax
push dword [ebp - 0x280]
call fcn.0042ca26
pop ecx
pop ecx
and dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
cmp dword [0x570cb8], 0
je 0x418b53
cmp dword [ebp - 0x284], 8
lea edi, [ebp - 0x298]
mov edx, 0x570ca8
lea ecx, [ebp - 0x2fc]
cmovae edi, dword [ebp - 0x298]
call fcn.00409e26
mov byte [ebp - 4], 0x18
cmp dword [eax + 0x14], 8
jb 0x418b36
mov eax, dword [eax]
push edi
push eax
push str.BrowserType
push str.Main
call ebx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
cmp dword [esi + 0x91c], 0
je 0x418baa
cmp dword [ebp - 0x284], 8
lea edi, [ebp - 0x298]
lea edx, [esi + 0x90c]
cmovae edi, dword [ebp - 0x298]
lea ecx, [ebp - 0x2fc]
call fcn.00409e26
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 8
jb 0x418b8d
mov eax, dword [eax]
push edi
push eax
push str.GAID
push str.Main
call ebx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
cmp dword [esi + 0x964], 0
je 0x418c01
cmp dword [ebp - 0x284], 8
lea edi, [ebp - 0x298]
lea edx, [esi + 0x954]
cmovae edi, dword [ebp - 0x298]
lea ecx, [ebp - 0x2fc]
call fcn.00409e26
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x14], 8
jb 0x418be4
mov eax, dword [eax]
push edi
push eax
push str.TrackInfo
push str.Main
call ebx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
cmp dword [0x570c9c], 0
je 0x418d6e
lea eax, [ebp - 0x2fc]
mov ecx, esi
push eax
call fcn.0041935b
mov byte [ebp - 4], 0x1b
push eax
call fcn.0041cf92
and dword [ebp - 0x2a0], 0
lea ecx, [ebp - 0x2b0]
and dword [ebp - 0x29c], 0
push eax
call fcn.004221f8
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2fc]
call fcn.00421eb9
xor eax, eax
lea edi, [ebp - 0x274]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x274]
push eax
mov ecx, 0x570c8c
call fcn.00409782
mov edi, dword [ebp - 0x270]
mov esi, dword [ebp - 0x274]
pop ecx
cmp esi, edi
je 0x418cd6
mov edx, esi
lea ecx, [ebp - 0x2b0]
call fcn.00429c97
test al, al
je 0x418ccb
cmp dword [ebp - 0x284], 8
lea eax, [ebp - 0x298]
cmovae eax, dword [ebp - 0x298]
push eax
push 0x546024
push str.PackageType
push str.Main
call ebx
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jne 0x418c94
jmp 0x418cd9
push 0x18
pop ecx
mov byte [ebp - 4], 0x1d
mov esi, dword [ebp - 0x274]
test esi, esi
je 0x418d32
mov edi, dword [ebp - 0x270]
cmp esi, edi
je 0x418d07
mov ecx, esi
call fcn.00421eb9
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jne 0x418cf1
mov esi, dword [ebp - 0x274]
mov eax, dword [ebp - 0x26c]
sub eax, esi
cdq
idiv ecx
imul eax, eax, 0x18
push eax
push esi
call fcn.0042ca26
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x418d50
inc eax
push eax
push dword [ebp - 0x2b0]
call fcn.0042ca26
pop ecx
pop ecx
and dword [ebp - 0x2a0], 0
mov esi, dword [ebp - 0x2e4]
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
cmp dword [0x570d00], 0
je 0x418ed5
lea eax, [ebp - 0x2fc]
mov ecx, esi
push eax
call fcn.0041935b
mov byte [ebp - 4], 0x1f
push eax
call fcn.0041cf92
and dword [ebp - 0x2a0], 0
lea ecx, [ebp - 0x2b0]
and dword [ebp - 0x29c], 0
push eax
call fcn.004221f8
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2fc]
call fcn.00421eb9
xor eax, eax
lea edi, [ebp - 0x274]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x274]
push eax
mov ecx, 0x570cf0
call fcn.00409782
mov edi, dword [ebp - 0x270]
mov esi, dword [ebp - 0x274]
pop ecx
cmp esi, edi
je 0x418e43
mov edx, esi
lea ecx, [ebp - 0x2b0]
call fcn.00429c97
test al, al
je 0x418e38
cmp dword [ebp - 0x284], 8
lea eax, [ebp - 0x298]
cmovae eax, dword [ebp - 0x298]
push eax
push 0x546028
push str.PackageType
push str.Main
call ebx
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jne 0x418e01
jmp 0x418e46
push 0x18
pop ecx
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0x274]
test esi, esi
je 0x418e9f
mov edi, dword [ebp - 0x270]
cmp esi, edi
je 0x418e74
mov ecx, esi
call fcn.00421eb9
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jne 0x418e5e
mov esi, dword [ebp - 0x274]
mov eax, dword [ebp - 0x26c]
sub eax, esi
cdq
idiv ecx
imul eax, eax, 0x18
push eax
push esi
call fcn.0042ca26
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x418ebd
inc eax
push eax
push dword [ebp - 0x2b0]
call fcn.0042ca26
pop ecx
pop ecx
and dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
cmp dword [0x570c6c], 0
je 0x419040
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x2fc]
push eax
call fcn.0041935b
mov byte [ebp - 4], 0x23
push eax
call fcn.0041cf92
and dword [ebp - 0x2a0], 0
lea ecx, [ebp - 0x2b0]
and dword [ebp - 0x29c], 0
push eax
call fcn.004221f8
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x2fc]
call fcn.00421eb9
xor eax, eax
lea edi, [ebp - 0x274]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x274]
push eax
mov ecx, 0x570c5c
call fcn.00409782
mov edi, dword [ebp - 0x270]
mov esi, dword [ebp - 0x274]
pop ecx
cmp esi, edi
je 0x418fae
mov edx, esi
lea ecx, [ebp - 0x2b0]
call fcn.00429c97
test al, al
je 0x418fa3
cmp dword [ebp - 0x284], 8
lea eax, [ebp - 0x298]
cmovae eax, dword [ebp - 0x298]
push eax
push 0x54602c
push str.PackageType
push str.Main
call ebx
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jne 0x418f6c
jmp 0x418fb1
push 0x18
pop ecx
mov byte [ebp - 4], 0x25
mov esi, dword [ebp - 0x274]
test esi, esi
je 0x41900a
mov edi, dword [ebp - 0x270]
cmp esi, edi
je 0x418fdf
mov ecx, esi
call fcn.00421eb9
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jne 0x418fc9
mov esi, dword [ebp - 0x274]
mov eax, dword [ebp - 0x26c]
sub eax, esi
cdq
idiv ecx
imul eax, eax, 0x18
push eax
push esi
call fcn.0042ca26
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x419028
inc eax
push eax
push dword [ebp - 0x2b0]
call fcn.0042ca26
pop ecx
pop ecx
and dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
cmp dword [0x570bf8], 0x196
jne 0x419337
cmp dword [ebp - 0x284], 8
lea eax, [ebp - 0x298]
mov esi, str.Main
cmovae eax, dword [ebp - 0x298]
push eax
push 0x546030
push str.AppName
push esi
call ebx
cmp dword [ebp - 0x284], 8
lea eax, [ebp - 0x298]
cmovae eax, dword [ebp - 0x298]
push eax
push str.V13.5.0.0__Build_09_03_2020_
push str.Version
push esi
call ebx
mov eax, dword [ebp - 0x2e4]
push ecx
add eax, 0x7b8
lea ecx, [ebp - 0x2b0]
push eax
call fcn.00426643
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.00405d66
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x2fc]
push ecx
mov ecx, eax
call fcn.00405d22
mov byte [ebp - 4], 0x29
mov ecx, eax
call fcn.0040929c
mov bl, al
neg bl
sbb bl, bl
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x2fc]
call fcn.00421eb9
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x280]
call fcn.00421c43
add bl, 1
je 0x419119
push ecx
lea ecx, [ebp - 0x2b0]
call fcn.00428271
lea edx, [ebp - 0x2b0]
lea ecx, [ebp - 0x2fc]
call fcn.00406604
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2b0]
push eax
call fcn.0041ef34
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
lea eax, [ebp - 0x2fc]
mov byte [ebp - 0x2e4], 0
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0x2d
mov ecx, eax
push dword [ebp - 0x2e4]
push 0xf
push str.programurls.ini
call fcn.00436132
xor eax, eax
inc eax
mov dword [ebp - 0x300], eax
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x300], eax
and eax, 0xfffffffe
mov dword [ebp - 0x300], eax
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x2fc]
push eax
lea edx, [ebp - 0x2b0]
lea ecx, [ebp - 0x2c8]
call fcn.00405e0c
add esp, 0x10
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2fc]
call fcn.00421c43
lea ecx, [ebp - 0x2c8]
call fcn.004066be
test al, al
je 0x419319
mov dword [ebp - 0x27c], str.UpgradeUrl
lea esi, [ebp - 0x27c]
mov dword [ebp - 0x278], str.PurchaseUrl
mov dword [ebp - 0x274], str.inAppSupportURL
mov dword [ebp - 0x270], str.Buylicense
mov dword [ebp - 0x26c], str.ApowerRecoverActivateBuy
mov dword [ebp - 0x268], str.Windows.ApowerRecover.Arabic
lea edi, [ebp - 0x268]
mov dword [ebp - 0x264], str.Windows.ApowerRecover.Chinese
mov dword [ebp - 0x260], str.Windows.ApowerRecover.ChineseTrad
mov dword [ebp - 0x25c], str.Windows.ApowerRecover.Danish
mov dword [ebp - 0x258], str.Windows.ApowerRecover.Deutsch
mov dword [ebp - 0x254], str.Windows.ApowerRecover.Dutch
mov dword [ebp - 0x250], str.Windows.ApowerRecover.English
mov dword [ebp - 0x24c], str.Windows.ApowerRecover.French
mov dword [ebp - 0x248], str.Windows.ApowerRecover.Indonesian
mov dword [ebp - 0x244], str.Windows.ApowerRecover.Italian
mov dword [ebp - 0x240], str.Windows.ApowerRecover.Japanese
mov dword [ebp - 0x23c], str.Windows.ApowerRecover.Korean
mov dword [ebp - 0x238], str.Windows.ApowerRecover.Mungarian
mov dword [ebp - 0x234], str.Windows.ApowerRecover.Norwegian
mov dword [ebp - 0x230], str.Windows.ApowerRecover.Polish
mov dword [ebp - 0x22c], str.Windows.ApowerRecover.Portuguesa
mov dword [ebp - 0x228], str.Windows.ApowerRecover.Russian
mov dword [ebp - 0x224], str.Windows.ApowerRecover.Spanish
mov dword [ebp - 0x220], str.Windows.ApowerRecover.Svenska
mov dword [ebp - 0x21c], str.Windows.ApowerRecover.Turkish
cmp dword [ebp - 0x2b4], 8
lea eax, [ebp - 0x2c8]
cmovae eax, dword [ebp - 0x2c8]
push eax
push str.http:__r.aoscdn.com_4foh
push dword [edi]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
add edi, 4
lea eax, [ebp - 0x218]
cmp edi, eax
jne 0x4192d7
add esi, 4
lea eax, [ebp - 0x268]
cmp esi, eax
jne 0x419209
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x2c8]
call fcn.00421c43
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2b0]
call fcn.00421c43
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x298]
call fcn.00421c43
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e0]
call fcn.00421c43
call fcn.004e6376
ret