Function at 0x1006a350
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x34
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10290680]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov eax, dword [0x10285c0c]
mov ecx, dword [0x10285c10]
add eax, 0x404032e3
add eax, ecx
sub eax, 0x404032e3
mov ecx, 0xffffffff
xor ecx, 0xfa4d7777
add eax, ecx
add eax, 1
sub eax, 0x76ee8af2
sub eax, 0xae7c4541
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x48016a45
lea eax, [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
sub eax, 0x871f8c0a
je 0x1006a508
jmp 0x1006a3c8
mov eax, dword [ebp - 0x30]
sub eax, 0x8980a347
je 0x1006a69e
jmp 0x1006a3db
mov eax, dword [ebp - 0x30]
sub eax, 0x8f6b0a61
je 0x1006a79d
jmp 0x1006a3ee
mov eax, dword [ebp - 0x30]
sub eax, 0xa0f183b1
je 0x1006a6f1
jmp 0x1006a401
mov eax, dword [ebp - 0x30]
sub eax, 0xb81e98fb
je 0x1006a5d8
jmp 0x1006a414
mov eax, dword [ebp - 0x30]
sub eax, 0xc0c10bec
je 0x1006a629
jmp 0x1006a427
mov eax, dword [ebp - 0x30]
sub eax, 0xd2b153dc
je 0x1006a7ab
jmp 0x1006a43a
mov eax, dword [ebp - 0x30]
sub eax, 0xd3e37ef2
je 0x1006a916
jmp 0x1006a44d
mov eax, dword [ebp - 0x30]
sub eax, 0xd3f6db31
je 0x1006a690
jmp 0x1006a460
mov eax, dword [ebp - 0x30]
sub eax, 0xda8ca811
je 0x1006a969
jmp 0x1006a473
mov eax, dword [ebp - 0x30]
sub eax, 0xdff284fd
je 0x1006a8a5
jmp 0x1006a486
mov eax, dword [ebp - 0x30]
sub eax, 0xeae8d596
je 0x1006a5bd
jmp 0x1006a499
mov eax, dword [ebp - 0x30]
sub eax, 0x23fed087
je 0x1006a891
jmp 0x1006a4ac
mov eax, dword [ebp - 0x30]
sub eax, 0x4534ff9c
je 0x1006a8f7
jmp 0x1006a4bf
mov eax, dword [ebp - 0x30]
sub eax, 0x48016a45
je 0x1006a4ea
jmp 0x1006a4d2
mov eax, dword [ebp - 0x30]
sub eax, 0x72f776cd
je 0x1006a814
jmp 0x1006a4e5
jmp 0x1006a972
mov ecx, 0xdff284fd
mov eax, 0x871f8c0a
cmp dword [ebp - 0x14], 0x6ae9f50
cmovne ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov esi, dword [ebp - 0x2c]
mov eax, dword [0x10285c14]
mov ecx, dword [0x10285c18]
sub eax, ecx
mov ecx, eax
and ecx, 0xfb327d8
add ecx, ecx
neg ecx
lea ecx, [eax + ecx - 0x704cd828]
mov eax, ecx
or eax, 0xfa0743af
not ecx
or ecx, 0x5f8bc50
and eax, ecx
not eax
mov ecx, 0x121ea69f
mul ecx
mov eax, dword [ebp - 0x24]
shr edx, 0x1a
mov dword [ebp - 0x34], edx
push eax
mov edx, esp
push eax
mov ecx, esp
sub esp, 0x104
mov edi, esp
mov dword [ebp - 0x18], edi
mov dword [edx], esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
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 - 0x34]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x19], al
mov ecx, 0xdff284fd
mov eax, 0xeae8d596
cmp edx, 0x7480be1e
cmovbe ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov ecx, 0x8980a347
mov eax, 0xb81e98fb
test byte [ebp - 0x19], 1
cmovne ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov edx, dword [0x10285c1c]
mov eax, dword [str.9l.]
add edx, 0x229ae613
add edx, eax
sub edx, 0x229ae613
or edx, 0xeaffcff3
add edx, 0x5a016f03
mov eax, 0xffffffff
xor eax, 0x4f1346bf
add edx, eax
add edx, 1
mov ecx, 0x4534ff9c
mov eax, 0xc0c10bec
cmp edx, 0x9683594d
cmovb ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov ecx, dword [ebp - 0x2c]
mov edx, dword [0x10285c24]
imul edx, dword [0x10285c28]
mov eax, edx
and eax, 0x23f229b9
or edx, 0x23f229b9
add eax, edx
sub eax, 0x20ee2b27
mov edx, eax
xor edx, 0xb384422d
xor edx, 0xffffffff
or eax, 0xb384422d
and eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call fcn.10006000
mov edx, dword [ebp - 0x38]
mov ecx, 0x4534ff9c
mov eax, 0xd3f6db31
cmp edx, 0x7318e2db
cmova ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov eax, dword [ebp - 0x20]
mov dword [eax], 0xd2b153dc
jmp 0x1006a972
mov eax, dword [0x10285c2c]
imul eax, dword [0x10285c30]
imul edx, eax, 0xe1d5540f
add edx, 0x54927bb6
sub edx, 0x278bd1d5
sub edx, 0x54927bb6
sub edx, 0xfbace0ec
add edx, 0x3045949f
add edx, 0xfbace0ec
mov ecx, 0xd3e37ef2
mov eax, 0xa0f183b1
cmp edx, 0x62528e9
cmovae ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov eax, dword [0x10285c34]
xor eax, dword [0x10285c38]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x37f4c8e4
mov esi, 0xffffffff
xor esi, 0x37f4c8e4
mov ecx, eax
and ecx, esi
imul ecx, edx
mov edx, eax
and edx, 0x37f4c8e4
or eax, 0x37f4c8e4
imul eax, edx
add eax, ecx
or eax, 0x6454fb5e
add eax, 0x611eea79
mov dword [ebp - 0x3c], eax
lea ecx, [0x10296010]
lea eax, str.Error_retrieving_folder_path
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100672e0
add esp, 8
mov ecx, eax
lea eax, [0x1006a9a0]
sub esp, 4
mov dword [esp], eax
call fcn.1006a980
mov ecx, dword [ebp - 0x2c]
lea eax, [0x1025deab]
sub esp, 4
mov dword [esp], eax
call fcn.10006000
mov edx, dword [ebp - 0x3c]
mov ecx, 0xd3e37ef2
mov eax, 0x8f6b0a61
cmp edx, 0xa5f77cb
cmova ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov eax, dword [ebp - 0x20]
mov dword [eax], 0xd2b153dc
jmp 0x1006a972
mov eax, dword [0x10285c3c]
sub eax, dword [0x10285c40]
mov ecx, 0x5ce18788
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xe15328ff
xor ecx, 0xe15328ff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x75ebdff3
and edx, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x75ebdff3
and eax, ecx
or edx, eax
xor edx, 0xffffffff
mov ecx, 0x72f776cd
mov eax, 0xda8ca811
cmp edx, 0x7f685cd4
cmovb ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov eax, dword [0x10285c44]
mov edx, dword [0x10285c48]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov edx, eax
or edx, edx
xor edx, 0xffffffff
mov ecx, 0x520249e7
or ecx, 0x520249e7
xor ecx, 0xffffffff
or edx, ecx
xor edx, 0xffffffff
or eax, 0x520249e7
xor eax, 0xffffffff
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
add edx, 0x6a313a2b
mov ecx, 0xffffffff
xor ecx, 0x52ce2d3b
mov eax, edx
and eax, ecx
mov ecx, edx
xor ecx, 0x52ce2d3b
add edx, ecx
sub edx, eax
mov ecx, 0x72f776cd
mov eax, 0x23fed087
cmp edx, 0x786dcb1f
cmova ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
jmp 0x1006a972
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.100b5a82
mov eax, dword [ebp - 0x28]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
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 - 0x20]
mov dword [eax], 0x871f8c0a
jmp 0x1006a972
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call fcn.10006000
mov eax, dword [ebp - 0x20]
mov dword [eax], 0xc0c10bec
jmp 0x1006a972
lea ecx, [0x10296010]
lea eax, str.Error_retrieving_folder_path
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100672e0
add esp, 8
mov ecx, eax
lea eax, [0x1006a9a0]
sub esp, 4
mov dword [esp], eax
call fcn.1006a980
mov ecx, dword [ebp - 0x2c]
lea eax, [0x1025deab]
sub esp, 4
mov dword [esp], eax
call fcn.10006000
mov eax, dword [ebp - 0x20]
mov dword [eax], 0xa0f183b1
jmp 0x1006a972
mov eax, dword [ebp - 0x20]
mov dword [eax], 0x72f776cd
jmp 0x1006a3b2