Function at 0x45c200
Capabilities:
Get common file path
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e0
mov eax, dword [0x633634]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x2dc]
push eax
mov esi, ecx
mov ecx, dword [esi + 4]
xor edi, edi
push edi
push ecx
mov dword [ebp - 0x2dc], edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
push 0x2b0
lea edx, [ebp - 0x2b4]
push edi
push edx
mov dword [ebp - 0x2b8], edi
call fcn.0046f8b0
mov ecx, dword [ebp - 0x2dc]
mov ebx, dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
add esp, 0xc
push 0x4108
push 0x2b4
lea eax, [ebp - 0x2b8]
push eax
push edi
push ecx
call ebx
push 0x2b4
lea edx, [ebp - 0x2b8]
push edi
push edx
mov dword [ebp - 0x2e0], eax
call fcn.0046f8b0
mov ecx, dword [ebp - 0x2dc]
add esp, 0xc
push 0x4009
push 0x2b4
lea eax, [ebp - 0x2b8]
push eax
push edi
push ecx
call ebx
mov edx, dword [esi + 0x27c]
mov ebx, eax
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x402
push edx
call edi
mov eax, dword [esi + 0x270]
push ebx
push 0
push 0x1109
push eax
call edi
mov edx, dword [esi + 0x274]
xor eax, eax
lea ecx, [ebp - 0x2d8]
push ecx
push eax
push 0x1061
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c4], eax
push edx
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2cc], str.Name
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], 0xc8
mov dword [ebp - 0x2d8], 0xf
mov dword [ebp - 0x2c4], eax
call edi
xor eax, eax
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], eax
mov edx, dword [esi + 0x274]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c4], eax
lea ecx, [ebp - 0x2d8]
push ecx
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov eax, 1
push eax
push 0x1061
push edx
mov dword [ebp - 0x2cc], str.Size
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], 0x64
mov dword [ebp - 0x2d8], 0xf
mov dword [ebp - 0x2c4], eax
call edi
mov ecx, dword [esi + 0x274]
xor eax, eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2d4], eax
lea eax, [ebp - 0x2d8]
push eax
push 2
push 0x1061
push ecx
mov dword [ebp - 0x2cc], str.Type
mov dword [ebp - 0x2d0], 0x64
mov dword [ebp - 0x2d8], 0xf
mov dword [ebp - 0x2c4], 2
call edi
xor eax, eax
lea edx, [ebp - 0x2d8]
push edx
mov dword [ebp - 0x2d4], eax
push 3
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2d4], eax
mov eax, dword [esi + 0x274]
push 0x1061
push eax
mov dword [ebp - 0x2cc], str.Modified
mov dword [ebp - 0x2d0], 0x64
mov dword [ebp - 0x2d8], 0xf
mov dword [ebp - 0x2c4], 3
call edi
mov edx, dword [esi + 0x274]
xor eax, eax
lea ecx, [ebp - 0x2d8]
push ecx
push 4
push 0x1061
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2cc], str.Attributes
mov dword [ebp - 0x2d4], 1
mov dword [ebp - 0x2d0], 0x64
mov dword [ebp - 0x2d8], 0xf
mov dword [ebp - 0x2c4], 4
push edx
call edi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [esi + 0x274]
push eax
push 0
push 0x1003
push ecx
call edi
mov edx, dword [esi + 0x274]
push ebx
push 1
push 0x1003
push edx
call edi
mov eax, dword [ebp - 0x2dc]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046f8a1
mov esp, ebp
pop ebp
ret