Function at 0x1016e47
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x444
mov eax, dword [0x1046080]
push ebx
push esi
push 0x40000062
mov dword [ebp - 4], eax
mov esi, ecx
call dword [sym.imp.SHELL32.dll_SHRestricted]
xor ebx, ebx
test eax, eax
jne 0x1016e95
cmp dword [esi + 0x240], ebx
mov dword [ebp - 0x41c], 0x101
jne 0x10297c1
lea eax, [ebp - 0x41c]
push eax
lea eax, [esi + 8]
push eax
call sub.SHELL32.dll_Ordinal_241
mov eax, dword [esi + 0x20c]
cmp eax, ebx
mov dword [ebp - 0x418], ebx
je 0x1016ebb
lea ecx, [ebp - 0x418]
push ecx
push 0x1389
push ebx
push 1
push eax
call dword [sym.imp.UxTheme.dll_GetThemeBool]
cmp dword [esi + 0x240], ebx
jne 0x1016edf
cmp dword [ebp - 0x418], ebx
je 0x1017033
push 0x1b
call dword [sym.imp.SHLWAPI.dll_IsOS]
test eax, eax
je 0x1017033
lea eax, [ebp - 0x414]
push eax
push 0x80000000
push ebx
mov word [ebp - 0x414], 0x30
call sub.SHELL32.dll_Ordinal_233
cmp word [ebp - 0x414], bx
je 0x10297ca
mov eax, dword [esi + 0x23c]
cmp eax, ebx
jne 0x10297db
cmp dword [esi + 0x240], ebx
push edi
jne 0x10297ed
push 0x2010
push ebx
push ebx
push ebx
lea eax, [ebp - 0x414]
push eax
push ebx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esi + 0x23c], eax
mov eax, dword [esi + 0x23c]
cmp eax, ebx
je 0x1016ff8
lea ecx, [ebp - 0x444]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
cmp dword [esi + 0x240], ebx
mov ecx, dword [esi + 0x248]
mov eax, dword [esi + 0x244]
mov dword [esi + 0x228], ecx
mov dword [esi + 0x22c], eax
jne 0x1016f96
mov edx, dword [ebp - 0x440]
mov edi, dword [ebp - 0x43c]
cmp edi, edx
jl 0x1029870
jg 0x1029884
mov eax, dword [esi + 0x248]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x244]
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x20c]
cmp eax, ebx
je 0x1016ff8
lea edi, [esi + 0x210]
push edi
push ebx
push 0xe12
push ebx
push 0xa
push ebx
push eax
call dword [sym.imp.UxTheme.dll_GetThemeMargins]
test eax, eax
jl 0x1017078
mov eax, dword [esi + 0x21c]
add eax, dword [esi + 0x218]
add dword [esi + 0x220], eax
mov eax, dword [esi + 0x214]
add eax, dword [edi]
add dword [esi + 0x224], eax
pop edi
cmp dword [esi + 0x230], ebx
jne 0x1017033
lea eax, [ebp - 0x420]
push eax
push 1
push 0x400
push 0x4000000
push 0x8002
push dword [esi]
mov dword [ebp - 0x41c], ebx
mov dword [ebp - 0x420], ebx
call dword [sym.imp.SHELL32.dll_SHChangeNotifyRegister]
mov dword [esi + 0x230], eax
mov ecx, esi
call fcn.01017088
mov esi, dword [esi]
lea eax, [ebp - 0x42c]
push eax
push ebx
push 0x4e
push esi
mov dword [ebp - 0x42c], esi
mov dword [ebp - 0x428], ebx
mov dword [ebp - 0x424], 0xd1
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 4]
pop esi
xor eax, eax
pop ebx
call fcn.01001aff
leave
ret
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jmp 0x1016ff8
mov word [esi + 8], bx
jmp 0x1016e95
cmp dword [esi + 0x240], ebx
jne 0x1016f07
jmp 0x1016ff9
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esi + 0x23c], ebx
jmp 0x1016f15
xor eax, eax
mov word [ebp - 0x20c], bx
mov ecx, 0x81
lea edi, [ebp - 0x20a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
mov edi, 0x1029d3c
je 0x102983e
push edi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x102983e
push 2
push ebx
lea eax, [ebp - 0x20c]
push eax
jmp 0x1029842
push 2
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, ebx
je 0x1016f3e
push 0x83
push edi
call dword [sym.imp.USER32.dll_LoadBitmapW]
push edi
mov dword [esi + 0x23c], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1016f3e
push edx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esi + 0x228], eax
jmp 0x1016f96
push edi
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esi + 0x22c], eax
jmp 0x1016f96