Function at 0x7786c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7f296d
mov eax, dword fs:[0]
push eax
sub esp, 0xdc
push esi
push edi
push ecx
lea edi, [ebp - 0xe8]
mov ecx, 0x37
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x87fbc0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
push 0x6a
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFC_afxshelltreectrl.cpp
mov eax, dword [ebp - 0x10]
push eax
call fcn.0047ca40
nop
cmp dword [0x889014], 0
je 0x778727
mov dword [ebp - 0xc8], 1
jmp 0x778731
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0
jne 0x778751
push 0x6b
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFC_afxshelltreectrl.cpp
call fcn.004053b0
test eax, eax
je 0x778751
int3
cmp dword [ebp - 0x14], 0
jne 0x77875d
call fcn.004d7c10
nop
xor eax, eax
jne 0x778712
push 0x6c
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFC_afxshelltreectrl.cpp
mov ecx, dword [0x889014]
push ecx
call fcn.0047ca40
nop
lea edx, [ebp - 0x1c]
push edx
push 0
push 0
call sub.SHELL32.dll_SHGetSpecialFolderLocation
test eax, eax
jge 0x77878d
xor eax, eax
jmp 0x7789ec
mov esi, esp
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
cmp esi, esp
call fcn.00784930
test eax, eax
jge 0x7787ab
xor eax, eax
jmp 0x7789ec
mov dword [ebp - 0x58], 0x67
mov esi, esp
push 0xc
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x7787da
mov dword [ebp - 0xcc], 1
jmp 0x7787e4
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x64], 0
jne 0x778807
push 0x82
push str.D:_a_work1_s_src_vctoolsVC7LibsShipATLMFCSrcMFC_afxshelltreectrl.cpp
call fcn.004053b0
test eax, eax
je 0x778807
int3
cmp dword [ebp - 0x64], 0
jne 0x778813
call fcn.004d7c10
nop
xor eax, eax
jne 0x7787c8
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [0x889014]
call fcn.006ac8f0
mov ecx, dword [ebp - 0x60]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x60]
mov dword [edx], 0
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x16c]
mov dword [ebp - 0xd0], eax
mov esi, esp
mov ecx, dword [ebp - 0x60]
push ecx
lea edx, [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov edi, esp
mov ecx, dword [ebp - 0xd4]
call dword [0x7f5aac]
cmp edi, esp
call fcn.00784930
mov ecx, dword [ebp - 0x10]
call dword [ebp - 0xd4]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x6c]
call fcn.00411bc0
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040b9c0
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x170]
mov dword [ebp - 0xd8], eax
mov esi, esp
push 0
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], edx
mov edi, esp
mov ecx, dword [ebp - 0xdc]
call dword [0x7f5aac]
cmp edi, esp
call fcn.00784930
mov ecx, dword [ebp - 0x10]
call dword [ebp - 0xdc]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x170]
mov dword [ebp - 0xe0], edx
mov esi, esp
push 1
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], ecx
mov edi, esp
mov ecx, dword [ebp - 0xe4]
call dword [0x7f5aac]
cmp edi, esp
call fcn.00784930
mov ecx, dword [ebp - 0x10]
call dword [ebp - 0xe4]
cmp esi, esp
call fcn.00784930
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 1
mov ecx, 0xa
lea esi, [ebp - 0x58]
lea edi, [ebp - 0xb0]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xb4], 0xffff0002
mov dword [ebp - 0xb8], 0xffff0000
lea edx, [ebp - 0xb8]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.0048e9a0
mov dword [ebp - 0xc0], eax
push 2
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0048d0e0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [edx + 8]
mov dword [ebp - 0xe8], ecx
mov edi, esp
mov ecx, dword [ebp - 0xe8]
call dword [0x7f5aac]
cmp edi, esp
call fcn.00784930
call dword [ebp - 0xe8]
cmp esi, esp
call fcn.00784930
nop
mov dword [ebp - 0xc4], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.0040bc80
mov eax, dword [ebp - 0xc4]
push edx
mov ecx, ebp
push eax
lea edx, [0x778a1c]
call fcn.007848d0
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0xe8
cmp ebp, esp
call fcn.00784930
mov esp, ebp
pop ebp
ret