Function at 0x586590
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x2c]
mov eax, 1
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x10]
call fcn.0040de90
call fcn.00404010
push eax
test eax, eax
jne 0x586c33
add dword [0x6dc220], 1
cmp dword [0x6dc210], 0
jne 0x586c28
mov eax, str.uxtheme.dll
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x6dc210], eax
test eax, eax
jbe 0x586c28
mov eax, str.OpenThemeData
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbdb0], eax
mov eax, str.CloseThemeData
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbdd0], eax
mov eax, str.DrawThemeBackground
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbde0], eax
mov eax, str.DrawThemeText
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe00], eax
mov eax, str.GetThemeBackgroundContentRect
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe10], eax
mov eax, str.GetThemeBackgroundExtent
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe20], eax
mov eax, str.GetThemePartSize
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe40], eax
mov eax, str.GetThemeTextExtent
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe50], eax
mov eax, str.GetThemeTextMetrics
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe60], eax
mov eax, str.GetThemeBackgroundRegion
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe30], eax
mov eax, str.HitTestThemeBackground
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe70], eax
mov eax, str.DrawThemeEdge
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe80], eax
mov eax, str.DrawThemeIcon
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbe90], eax
mov eax, str.IsThemePartDefined
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbea0], eax
mov eax, str.IsThemeBackgroundPartiallyTransparent
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbeb0], eax
mov eax, str.GetThemeColor
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbec0], eax
mov eax, str.GetThemeMetric
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbed0], eax
mov eax, str.GetThemeString
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbee0], eax
mov eax, str.GetThemeBool
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbef0], eax
mov eax, str.GetThemeInt
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf00], eax
mov eax, str.GetThemeEnumValue
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf10], eax
mov eax, str.GetThemePosition
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf20], eax
mov eax, str.GetThemeFont
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf30], eax
mov eax, str.GetThemeRect
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf40], eax
mov eax, str.GetThemeMargins
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf50], eax
mov eax, str.GetThemeIntList
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf60], eax
mov eax, str.GetThemePropertyOrigin
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf70], eax
mov eax, str.SetWindowTheme
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf80], eax
mov eax, str.GetThemeFilename
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbf90], eax
mov eax, str.GetThemeSysColor
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbfa0], eax
mov eax, str.GetThemeSysColorBrush
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbfb0], eax
mov eax, str.GetThemeSysBool
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbfc0], eax
mov eax, str.GetThemeSysSize
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbfd0], eax
mov eax, str.GetThemeSysFont
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbfe0], eax
mov eax, str.GetThemeSysString
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbff0], eax
mov eax, str.GetThemeSysInt
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc000], eax
mov eax, str.IsThemeActive
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc010], eax
mov eax, str.IsAppThemed
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc020], eax
mov eax, str.GetWindowTheme
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc030], eax
mov eax, str.EnableThemeDialogTexture
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc040], eax
mov eax, str.IsThemeDialogTextureEnabled
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc050], eax
mov eax, str.GetThemeAppProperties
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc060], eax
mov eax, str.SetThemeAppProperties
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc070], eax
mov eax, str.GetCurrentThemeName
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc080], eax
mov eax, str.GetThemeDocumentationProperty
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc090], eax
mov eax, str.DrawThemeParentBackground
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc0a0], eax
mov eax, str.EnableTheming
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc0b0], eax
mov eax, str.OpenThemeDataEx
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbdc0], eax
mov eax, str.DrawThemeBackgroundEx
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbdf0], eax
mov eax, str.DrawThemeParentBackgroundEx
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc0c0], eax
mov eax, str.SetWindowThemeAttribute
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc0d0], eax
mov eax, str.DrawThemeTextEx
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc0e0], eax
mov eax, str.GetThemeBitmap
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc0f0], eax
mov eax, str.GetThemeStream
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc100], eax
mov eax, str.BufferedPaintInit
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc110], eax
mov eax, str.BufferedPaintUnInit
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc120], eax
mov eax, str.BeginBufferedPaint
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc130], eax
mov eax, str.EndBufferedPaint
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc140], eax
mov eax, str.GetBufferedPaintTargetRect
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc150], eax
mov eax, str.GetBufferedPaintTargetDC
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc160], eax
mov eax, str.GetBufferedPaintDC
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc170], eax
mov eax, str.GetBufferedPaintBits
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc180], eax
mov eax, str.BufferedPaintClear
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc190], eax
mov eax, str.BufferedPaintSetAlpha
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc1a0], eax
mov eax, str.BufferedPaintStopAllAnimations
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc1b0], eax
mov eax, str.BeginBufferedAnimation
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc1c0], eax
mov eax, str.EndBufferedAnimation
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc1d0], eax
mov eax, str.BufferedPaintRenderAnimation
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc1e0], eax
mov eax, str.IsCompositionActive
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc1f0], eax
mov eax, str.GetThemeTransitionDuration
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dc200], eax
mov eax, str.BeginPanningFeedback
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbd80], eax
mov eax, str.UpdatePanningFeedback
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbd90], eax
mov eax, str.EndPanningFeedback
push eax
push dword [0x6dc210]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6dbda0], eax
nop
cmp dword [0x6dc210], 0
seta byte [ebp - 4]
call fcn.0040e100
pop eax
test eax, eax
je 0x586c42
call fcn.0040e230
mov al, byte [ebp - 4]
mov esp, ebp
pop ebp
ret