Function at 0x41b340
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4bc040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0
mov ebx, ecx
mov dword [ebp - 0x210], eax
push 0x4aeee0
mov ecx, eax
call fcn.004015e0
mov edx, dword [ebp + 8]
mov edi, edx
mov eax, dword [edx + 0x14]
cmp eax, 8
jb 0x41b37e
mov edi, dword [edx]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x214], ecx
cmp ecx, 0xb
jne 0x41b413
mov esi, ecx
mov ecx, str.AdobeCommon
sub edi, ecx
nop dword [eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b40a
add ecx, 2
sub esi, 1
jne 0x41b3a0
cmp byte [ebx + 0xc], 0
mov esi, str._CommonX86_
mov eax, str._Common_
cmove esi, eax
mov edx, esi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41b3c7
sub edx, ecx
sar edx, 1
push edx
push esi
mov ecx, dword [ebp - 0x210]
call fcn.004015e0
mov ecx, dword [ebp - 0x210]
push 6
push str.Adobe
call fcn.00405f60
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp eax, 8
jb 0x41b41c
mov edi, dword [edx]
cmp ecx, 0x11
jne 0x41b473
mov esi, ecx
mov ecx, str.AdobeProgramFiles
sub edi, ecx
nop word [eax + eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b46d
add ecx, 2
sub esi, 1
jne 0x41b430
cmp byte [ebx + 0xc], 0
mov edx, str._ProgramFilesx86_
mov eax, str._ProgramFiles_
cmove edx, eax
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b457
sub ecx, esi
sar ecx, 1
push ecx
push edx
jmp 0x41b3d8
mov ecx, dword [ebp - 0x214]
mov ebx, dword [edx + 0x14]
mov edi, edx
cmp ebx, 8
jb 0x41b47f
mov edi, dword [edx]
cmp ecx, 9
jne 0x41b4be
mov esi, ecx
mov ecx, str.Utilities
sub edi, ecx
nop dword [eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b4b8
add ecx, 2
sub esi, 1
jne 0x41b490
mov ecx, dword [ebp - 0x210]
push 8
push str._Common_
call fcn.004015e0
jmp 0x41b3f5
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b4c7
mov edi, dword [edx]
cmp ecx, 0xb
jne 0x41b511
mov esi, ecx
mov ecx, str.FontsFolder
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b50b
add ecx, 2
sub esi, 1
jne 0x41b4d5
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x14]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b51a
mov edi, dword [edx]
cmp ecx, 6
jne 0x41b56c
mov esi, ecx
mov ecx, str.Common
sub edi, ecx
nop dword [eax + eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b566
add ecx, 2
sub esi, 1
jne 0x41b530
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x2b]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b575
mov edi, dword [edx]
cmp ecx, 0xc
jne 0x41b5bf
mov esi, ecx
mov ecx, str.ProgramFiles
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b5b9
add ecx, 2
sub esi, 1
jne 0x41b583
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x26]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b5c8
mov edi, dword [edx]
cmp ecx, 0x15
jne 0x41b612
mov esi, ecx
mov ecx, str.SharedApplicationData
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b60c
add ecx, 2
sub esi, 1
jne 0x41b5d6
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x23]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b61b
mov edi, dword [edx]
cmp ecx, 0xf
jne 0x41b66c
mov esi, ecx
mov ecx, str.SharedDocuments
sub edi, ecx
nop dword [eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b666
add ecx, 2
sub esi, 1
jne 0x41b630
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x2e]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b675
mov edi, dword [edx]
cmp ecx, 9
jne 0x41b6bf
mov esi, ecx
mov ecx, str.StartMenu
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b6b9
add ecx, 2
sub esi, 1
jne 0x41b683
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x17]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b6c8
mov edi, dword [edx]
cmp ecx, 0xe
jne 0x41b714
mov esi, ecx
mov ecx, str.System32Folder
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b70e
add ecx, 2
sub esi, 1
jne 0x41b6d6
push ecx
mov ecx, 0x25
mov edx, dword [ebp - 0x210]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b71d
mov edi, dword [edx]
cmp ecx, 8
jne 0x41b76c
mov esi, ecx
mov ecx, str.UserHome
sub edi, ecx
nop dword [eax + eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b766
add ecx, 2
sub esi, 1
jne 0x41b730
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x28]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b775
mov edi, dword [edx]
cmp ecx, 0xd
jne 0x41b7bf
mov esi, ecx
mov ecx, str.UserDocuments
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b7b9
add ecx, 2
sub esi, 1
jne 0x41b783
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 5]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b7c8
mov edi, dword [edx]
cmp ecx, 0x12
jne 0x41b812
mov esi, ecx
mov ecx, str.UserRoamingAppData
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b80c
add ecx, 2
sub esi, 1
jne 0x41b7d6
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x1a]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b81b
mov edi, dword [edx]
cmp ecx, 0x10
jne 0x41b86c
mov esi, ecx
mov ecx, str.UserLocalAppData
sub edi, ecx
nop dword [eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b866
add ecx, 2
sub esi, 1
jne 0x41b830
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x1c]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b875
mov edi, dword [edx]
cmp ecx, 0xf
jne 0x41b8bf
mov esi, ecx
mov ecx, str.ProgramFilesx86
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b8b9
add ecx, 2
sub esi, 1
jne 0x41b883
mov edx, dword [ebp - 0x210]
push ecx
lea ecx, [esi + 0x2a]
call fcn.0040d950
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b8c8
mov edi, dword [edx]
cmp ecx, 6
jne 0x41b8f2
mov esi, ecx
mov ecx, str.System
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b8ec
add ecx, 2
sub esi, 1
jne 0x41b8d6
jmp 0x41b6e7
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b8fb
mov edi, dword [edx]
cmp ecx, 9
jne 0x41b930
mov esi, ecx
mov ecx, str.SystemX86
sub edi, ecx
nop dword [eax]
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b92a
add ecx, 2
sub esi, 1
jne 0x41b910
push ecx
lea ecx, [esi + 0x29]
jmp 0x41b6ed
mov ecx, dword [ebp - 0x214]
mov edi, edx
cmp ebx, 8
jb 0x41b939
mov edi, dword [edx]
cmp ecx, 9
jne 0x41b967
mov esi, ecx
mov ecx, str.CommonX86
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x41b961
add ecx, 2
sub esi, 1
jne 0x41b947
push ecx
lea ecx, [esi + 0x2c]
jmp 0x41b6ed
mov ecx, dword [ebp - 0x214]
cmp ebx, 8
jb 0x41b96e
mov edx, dword [edx]
cmp ecx, 4
jne 0x41b9d7
mov esi, ecx
mov ecx, str.Temp
sub edx, ecx
nop dword [eax]
mov ax, word [edx + ecx]
cmp ax, word [ecx]
jne 0x41b9d7
add ecx, 2
sub esi, 1
jne 0x41b980
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b9b0
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x210]
push eax
call fcn.004015e0
jmp 0x41b3f5
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00475cfa
mov esp, ebp
pop ebp
ret 8