Function at 0x597630
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.0040db40
call fcn.0040f650
push eax
test eax, eax
jne 0x597cd2
add dword [0x644c70], 1
cmp dword [0x644c60], 0
jne 0x597cc7
mov eax, str.uxtheme.dll
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x644c60], eax
test eax, eax
jbe 0x597cc7
mov eax, str.OpenThemeData
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644800], eax
mov eax, str.CloseThemeData
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644820], eax
mov eax, str.DrawThemeBackground
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644830], eax
mov eax, str.DrawThemeText
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644850], eax
mov eax, str.GetThemeBackgroundContentRect
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644860], eax
mov eax, str.GetThemeBackgroundExtent
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644870], eax
mov eax, str.GetThemePartSize
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644890], eax
mov eax, str.GetThemeTextExtent
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6448a0], eax
mov eax, str.GetThemeTextMetrics
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6448b0], eax
mov eax, str.GetThemeBackgroundRegion
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644880], eax
mov eax, str.HitTestThemeBackground
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6448c0], eax
mov eax, str.DrawThemeEdge
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6448d0], eax
mov eax, str.DrawThemeIcon
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6448e0], eax
mov eax, str.IsThemePartDefined
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6448f0], eax
mov eax, str.IsThemeBackgroundPartiallyTransparent
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644900], eax
mov eax, str.GetThemeColor
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644910], eax
mov eax, str.GetThemeMetric
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644920], eax
mov eax, str.GetThemeString
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644930], eax
mov eax, str.GetThemeBool
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644940], eax
mov eax, str.GetThemeInt
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644950], eax
mov eax, str.GetThemeEnumValue
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644960], eax
mov eax, str.GetThemePosition
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644970], eax
mov eax, str.GetThemeFont
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644980], eax
mov eax, str.GetThemeRect
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644990], eax
mov eax, str.GetThemeMargins
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6449a0], eax
mov eax, str.GetThemeIntList
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6449b0], eax
mov eax, str.GetThemePropertyOrigin
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6449c0], eax
mov eax, str.SetWindowTheme
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6449d0], eax
mov eax, str.GetThemeFilename
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6449e0], eax
mov eax, str.GetThemeSysColor
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6449f0], eax
mov eax, str.GetThemeSysColorBrush
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a00], eax
mov eax, str.GetThemeSysBool
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a10], eax
mov eax, str.GetThemeSysSize
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a20], eax
mov eax, str.GetThemeSysFont
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a30], eax
mov eax, str.GetThemeSysString
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a40], eax
mov eax, str.GetThemeSysInt
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a50], eax
mov eax, str.IsThemeActive
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a60], eax
mov eax, str.IsAppThemed
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a70], eax
mov eax, str.GetWindowTheme
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a80], eax
mov eax, str.EnableThemeDialogTexture
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644a90], eax
mov eax, str.IsThemeDialogTextureEnabled
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644aa0], eax
mov eax, str.GetThemeAppProperties
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644ab0], eax
mov eax, str.SetThemeAppProperties
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644ac0], eax
mov eax, str.GetCurrentThemeName
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644ad0], eax
mov eax, str.GetThemeDocumentationProperty
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644ae0], eax
mov eax, str.DrawThemeParentBackground
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644af0], eax
mov eax, str.EnableTheming
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b00], eax
mov eax, str.OpenThemeDataEx
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644810], eax
mov eax, str.DrawThemeBackgroundEx
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644840], eax
mov eax, str.DrawThemeParentBackgroundEx
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b10], eax
mov eax, str.SetWindowThemeAttribute
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b20], eax
mov eax, str.DrawThemeTextEx
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b30], eax
mov eax, str.GetThemeBitmap
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b40], eax
mov eax, str.GetThemeStream
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b50], eax
mov eax, str.BufferedPaintInit
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b60], eax
mov eax, str.BufferedPaintUnInit
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b70], eax
mov eax, str.BeginBufferedPaint
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b80], eax
mov eax, str.EndBufferedPaint
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644b90], eax
mov eax, str.GetBufferedPaintTargetRect
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644ba0], eax
mov eax, str.GetBufferedPaintTargetDC
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644bb0], eax
mov eax, str.GetBufferedPaintDC
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644bc0], eax
mov eax, str.GetBufferedPaintBits
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644bd0], eax
mov eax, str.BufferedPaintClear
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644be0], eax
mov eax, str.BufferedPaintSetAlpha
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644bf0], eax
mov eax, str.BufferedPaintStopAllAnimations
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644c00], eax
mov eax, str.BeginBufferedAnimation
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644c10], eax
mov eax, str.EndBufferedAnimation
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644c20], eax
mov eax, str.BufferedPaintRenderAnimation
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644c30], eax
mov eax, str.IsCompositionActive
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644c40], eax
mov eax, str.GetThemeTransitionDuration
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x644c50], eax
mov eax, str.BeginPanningFeedback
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6447d0], eax
mov eax, str.UpdatePanningFeedback
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6447e0], eax
mov eax, str.EndPanningFeedback
push eax
push dword [0x644c60]
call sub.kernel32.dll_GetProcAddress
mov dword [0x6447f0], eax
cmp dword [0x644c60], 0
seta byte [ebp - 4]
call fcn.0040ddc0
pop eax
test eax, eax
je 0x597ce1
call fcn.0040def0
mov al, byte [ebp - 4]
leave
ret