Function at 0x18804233
Capabilities:
Get common file path

Disassembly:
mov eax, 0x1882bd9b
call fcn.1882a764
sub esp, 0x440
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [edi], vtable.ButtonRenderer.0
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 0xc]
push 0x10
mov dword [edi + 0x48], eax
lea eax, [edi + 0x38]
push ebx
push eax
mov dword [edi], vtable.ButtonRendererVistaImage.0
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x50], ebx
call fcn.18819090
push 8
lea eax, [edi + 0xc]
push ebx
push eax
call fcn.18819090
push 0x24
lea eax, [edi + 0x14]
push ebx
push eax
call fcn.18819090
push 8
lea eax, [edi + 0x54]
push ebx
push eax
call fcn.18819090
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 0x30
push 0x2d
call esi
add eax, eax
push 0x1e
mov dword [ebp + 0xc], eax
call esi
sub eax, dword [ebp + 0xc]
push 0x2e
mov dword [edi + 0x54], eax
call esi
add eax, eax
push 0x1f
mov dword [ebp + 0xc], eax
call esi
sub eax, dword [ebp + 0xc]
push 0x2d
mov dword [edi + 0x58], eax
call esi
push 5
mov dword [edi + 0x4c], eax
call esi
add eax, eax
mov dword [edi + 0x50], eax
xor eax, eax
push 0x206
mov word [ebp - 0x244], ax
lea eax, [ebp - 0x242]
push ebx
push eax
call fcn.18819090
add esp, 0xc
push ebx
push ebx
push ebx
push ebx
mov esi, 0x104
push esi
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.UxTheme.dll_GetCurrentThemeName]
cmp eax, ebx
jge 0x1880434a
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x22
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 5
pop ecx
mov dword [ebp - 0x10], eax
push 0x18836bec
lea eax, [ebp - 0x34]
lea esi, [ebp - 0x20]
lea edi, [ebp - 0x34]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.1881d33f
push str.Window
push ebx
call dword [sym.imp.UxTheme.dll_OpenThemeData]
cmp eax, ebx
jne 0x18804370
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x28
mov dword [ebp - 0x14], ebx
jmp 0x18804328
lea ecx, [ebp - 0x3c]
push ecx
push 1
push 2
push ebx
push 0xf
push eax
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.UxTheme.dll_GetThemeBitmap]
cmp eax, ebx
jge 0x1880451a
cmp eax, 0x80070006
jne 0x18804504
push esi
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp word [ebp - 0x244], bx
jne 0x188043c2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x3a
jmp 0x1880436b
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp word [ebp + eax*2 - 0x246], 0x5c
je 0x188043ef
push 0x18833484
mov eax, 0x208
lea ebx, [ebp - 0x244]
call fcn.188014dd
push 0x18833488
mov eax, 0x208
lea ebx, [ebp - 0x244]
call fcn.188014dd
push 2
xor esi, esi
push esi
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp + 0xc], eax
cmp eax, esi
jne 0x18804432
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x41
mov dword [ebp - 0x14], esi
jmp 0x18804328
push 6
pop eax
mov ecx, 0x343
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], eax
lea eax, [ecx + 0x79]
mov word [ebp - 0x30], cx
mov ecx, eax
mov word [ebp - 0x24], cx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x28], 1
xor edx, edx
lea ecx, [ebp - 0x34]
mov ebx, dword [ecx - 4]
cmp ebx, dword [ebp + 0x10]
jne 0x1880446b
mov ebx, dword [ecx]
cmp ebx, dword [ebp + 0x14]
je 0x18804476
inc edx
add ecx, 0xc
cmp edx, 2
jb 0x1880445c
jmp 0x1880447e
imul edx, edx, 0xc
movzx eax, word [ebp + edx - 0x30]
movzx eax, ax
push eax
push str.IMAGE
push dword [ebp + 0xc]
call fcn.188039e0
add esp, 0xc
mov dword [edi + 4], eax
cmp eax, esi
jne 0x188044af
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x60
jmp 0x1880442a
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor ebx, ebx
xor eax, eax
push 0x206
mov word [ebp - 0x44c], ax
lea eax, [ebp - 0x44a]
push ebx
push eax
call fcn.18819090
lea eax, [ebp - 0x244]
push 0x5c
push eax
call fcn.1881918a
add esp, 0x14
cmp eax, ebx
jne 0x188045ba
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x7b
jmp 0x1880436b
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x66
jmp 0x18804325
push 0x2000
push ebx
push ebx
push ebx
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_CopyImage]
mov dword [edi + 8], eax
cmp eax, ebx
jne 0x18804548
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x6d
jmp 0x1880436b
push 0x10
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov esi, eax
mov dword [ebp + 0x10], esi
mov byte [ebp - 4], 1
cmp esi, ebx
je 0x1880458e
mov eax, dword [edi + 8]
mov dword [esi], vtable.Gdiplus::Image.0
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xc]
push ecx
push ebx
push eax
mov dword [esi], vtable.Gdiplus::Bitmap.0
mov dword [ebp + 0xc], ebx
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHBITMAP]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov byte [ebp - 4], 1
jmp 0x18804590
xor esi, esi
mov byte [ebp - 4], bl
mov dword [edi + 4], esi
mov eax, dword [esi + 8]
mov dword [esi + 8], ebx
cmp eax, ebx
je 0x188044ba
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x72
jmp 0x18804325
add eax, 2
push eax
mov eax, 0x208
lea ecx, [ebp - 0x44c]
call fcn.188014a8
lea eax, [ebp - 0x44c]
push 0x2e
push eax
call fcn.1881918a
pop ecx
pop ecx
cmp eax, ebx
jne 0x188045f8
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x80
jmp 0x1880436b
xor ecx, ecx
push ebx
mov word [eax], cx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp + 0xc], eax
cmp eax, ebx
jne 0x18804621
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x8c
jmp 0x1880436b
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x58
push eax
call esi
push 0x5a
push dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
call esi
push dword [ebp + 0xc]
mov dword [ebp + 0x10], eax
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
fild dword [ebp + 0x10]
mov esi, dword [edi + 4]
push ecx
push ecx
fstp dword [esp + 4]
fild dword [ebp + 0x14]
fstp dword [esp]
call fcn.188039b6
cmp eax, ebx
je 0x18804674
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], str...MultimonButtonRendererVistaImage.cpp
mov dword [ebp - 0x18], 0x92
jmp 0x18804325
mov esi, dword [edi + 4]
call fcn.188038bf
mov esi, dword [edi + 4]
mov dword [edi + 0xc], eax
call fcn.188038e0
mov ecx, dword [edi + 0x58]
shr eax, 3
push 2
mov dword [edi + 0x10], eax
pop eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x38], eax
push 7
pop eax
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov eax, dword [edi + 0x54]
cmp eax, ecx
jl 0x188046ab
mov eax, ecx
push 0xd
pop esi
cmp eax, 0x17
jb 0x188046b7
push 0x17
jmp 0x188046be
cmp eax, 0x13
jb 0x188046bf
push 0x13
pop esi
lea eax, [ebp - 0x44c]
push eax
push esi
mov eax, ebx
mov ecx, edi
call fcn.188049a2
inc ebx
cmp ebx, 3
jb 0x188046bf
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10