Function at 0x10066810
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x10280a7c]
mov eax, dword [0x10280a80]
sub ecx, 0xfecfda13
add ecx, eax
add ecx, 0xfecfda13
sub ecx, 0xfd177ae
sub ecx, 0xc0a5e183
add ecx, 0xfd177ae
or ecx, 0xf146d229
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf3cbf0d9
mov edx, 0xffffffff
xor edx, 0xf3cbf0d9
and ecx, edx
or eax, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18], 0xf0dcd8ad
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
sub eax, 0xd2b93605
je 0x10066965
jmp 0x10066897
mov eax, dword [ebp - 0x2c]
sub eax, 0xf0dcd8ad
je 0x10066947
jmp 0x100668aa
mov eax, dword [ebp - 0x2c]
sub eax, 0x1977ee00
je 0x10066a6c
jmp 0x100668bd
mov eax, dword [ebp - 0x2c]
sub eax, 0x21cb7fd2
je 0x10066aa9
jmp 0x100668d0
mov eax, dword [ebp - 0x2c]
sub eax, 0x379b65cd
je 0x100669fa
jmp 0x100668e3
mov eax, dword [ebp - 0x2c]
sub eax, 0x44ca65e0
je 0x10066a19
jmp 0x100668f6
mov eax, dword [ebp - 0x2c]
sub eax, 0x476b24da
je 0x10066b01
jmp 0x10066909
mov eax, dword [ebp - 0x2c]
sub eax, 0x55579335
je 0x10066b5d
jmp 0x1006691c
mov eax, dword [ebp - 0x2c]
sub eax, 0x7ac652a5
je 0x10066b0b
jmp 0x1006692f
mov eax, dword [ebp - 0x2c]
sub eax, 0x7fca68fb
je 0x100669df
jmp 0x10066942
jmp 0x10066b66
mov ecx, 0xd2b93605
mov eax, 0x7ac652a5
cmp dword [ebp - 0xc], 0x4b24a9b9
cmovae ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10066b66
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x30], ecx
push eax
mov edx, esp
push eax
mov ecx, esp
sub esp, 0x104
mov edi, esp
mov dword [ebp - 0x10], edi
mov dword [edx], esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ecx]
xor edx, edx
sub esp, 0x14
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov edx, dword [ebp - 0x30]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov ecx, 0x7fca68fb
mov eax, 0xd2b93605
cmp edx, 0xe41f67ab
cmova ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10066b66
mov ecx, 0x44ca65e0
mov eax, 0x379b65cd
test byte [ebp - 0x11], 1
cmovne ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10066b66
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.10005f80
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x1977ee00
jmp 0x10066b66
lea ecx, [0x10290eb0]
lea eax, str.Error_retrieving_folder_path
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10064160
add esp, 8
mov ecx, eax
lea eax, [0x10066d30]
sub esp, 4
mov dword [esp], eax
call fcn.10066b70
mov ecx, dword [ebp - 0x28]
lea eax, [0x10258ebb]
sub esp, 4
mov dword [esp], eax
call fcn.10005f80
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x1977ee00
jmp 0x10066b66
mov eax, dword [0x10280a8c]
sub eax, dword [0x10280a90]
mov ecx, 0xfa446a2
xor edx, edx
div ecx
imul eax, eax, 0x13595a82
imul edx, eax, 0x77c95e1e
mov ecx, 0x55579335
mov eax, 0x21cb7fd2
cmp edx, 0xe28173e6
cmovb ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10066b66
mov ecx, dword [0x10280a94]
mov edx, dword [0x10280a98]
mov esi, ecx
xor esi, 0xffffffff
mov eax, edx
and eax, esi
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
sub eax, 0xd877a611
add eax, 0x9b55fa0d
add eax, 0xd877a611
or eax, 0xe063a92f
mov ecx, 0x26530dd0
xor edx, edx
div ecx
mov edx, eax
mov ecx, 0x476b24da
mov eax, 0x21cb7fd2
cmp edx, 0x280a4740
cmovae ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10066b66
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
push eax
mov esi, esp
push eax
mov ecx, esp
sub esp, 0x104
mov eax, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
xor edx, edx
sub esp, 0x14
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0xd2b93605
jmp 0x10066b66
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x21cb7fd2
jmp 0x10066881