Function at 0x525620
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x606260
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x14], esi
mov dword [esi], 0x637ab8
mov eax, dword [0x6cd2f8]
cmp eax, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], ebx
jne 0x52566e
push str.dwmapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x6cd2f8], eax
je 0x525695
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.DwmIsCompositionEnabled
push eax
call edi
mov dword [0x6cd2f4], eax
mov eax, dword [0x6cd2f8]
push str.DwmSetWindowAttribute
push eax
call edi
mov dword [0x6cd300], eax
jmp 0x52569b
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [0x6cd2fc]
cmp eax, ebx
jne 0x5256b8
push str.UxTheme.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x6cd2fc], eax
je 0x525710
push str.OpenThemeData
push eax
call edi
mov ecx, dword [0x6cd2fc]
push str.CloseThemeData
push ecx
mov dword [0x6cd2e0], eax
call edi
mov edx, dword [0x6cd2fc]
push str.DrawThemeBackground
push edx
mov dword [0x6cd2e4], eax
call edi
mov dword [0x6cd2e8], eax
mov eax, dword [0x6cd2fc]
push str.GetThemeSysFont
push eax
call edi
mov ecx, dword [0x6cd2fc]
push str.DrawThemeTextEx
push ecx
mov dword [0x6cd2ec], eax
call edi
mov dword [0x6cd2f0], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x4c], 0x14
mov edx, dword [0x6cce4c]
neg edx
sbb edx, edx
and edx, 0xfffffffb
add edx, 0x1f
mov dword [esi + 0x48], edx
mov eax, dword [0x6cce4c]
neg eax
sbb eax, eax
and al, 0xeb
add eax, 0x2f
mov dword [esi + 0x50], eax
mov ecx, dword [0x6cce4c]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff7
add ecx, 0x1d
mov dword [esi + 0x54], ecx
mov ecx, dword [0x6cce4c]
mov eax, ecx
neg eax
sbb eax, eax
and al, 0xeb
add eax, 0x2f
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffb
add ecx, 0x1f
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x58], eax
mov edx, dword [0x6cce4c]
neg edx
sbb edx, edx
and edx, 0xfffffffc
add edx, 0xc
mov dword [esi + 0x5c], edx
mov eax, dword [0x6cce4c]
neg eax
sbb eax, eax
mov edx, dword [ebp + 8]
and al, 0xfd
push edx
add eax, 5
mov dword [esi + 0x60], eax
mov ecx, dword [0x6cce4c]
neg ecx
sbb ecx, ecx
and ecx, 2
add ecx, 8
mov dword [esi + 0x64], ecx
mov ecx, esi
call fcn.005268f0
lea eax, [esi + 0x68]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 6
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x24], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], edx
call edi
shl eax, 1
mov edx, eax
push 4
mov dword [ebp - 0x18], edx
call edi
mov edi, eax
mov eax, dword [ebp - 0x18]
neg edi
push 5
sub edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
or eax, 0xffffffff
sub eax, ecx
push edi
shl eax, 1
lea edx, [ebp - 0x28]
push eax
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
lea eax, [esi + 0x94]
mov dword [esi + 0x94], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 8]
push ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xa8], eax
call fcn.005dbbd0
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x28]
push edx
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esi + 0xa8]
push edx
push eax
call fcn.005d8c09
push 0x1e
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x1f
mov edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [edi - 5]
mov edx, 8
add eax, 0xfffffffb
cmp ecx, edx
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], eax
jle 0x5258b2
mov dword [esi + 0x8c], edx
cmp eax, edx
jle 0x5258bc
mov dword [esi + 0x90], edx
call fcn.005e93ab
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x8c]
mov eax, dword [eax + 8]
mov edi, dword [sym.imp.USER32.dll_LoadImageA]
push ebx
push ecx
mov ecx, dword [ebp + 0x18]
push edx
and ecx, 0xffff
push 1
push ecx
push eax
call edi
mov dword [esi + 8], eax
mov eax, dword [0x6cce44]
cmp eax, ebx
je 0x525910
call fcn.005e93ab
mov eax, dword [eax + 8]
push ebx
push 0x10
push 0x10
push 1
push 0x80
push eax
call edi
mov dword [esi + 0xc], eax
jmp 0x525913
mov dword [esi + 0xc], ebx
mov edx, dword [ebp + 0x14]
mov byte [esi + 4], bl
mov dword [esi + 0x88], edx
mov byte [esi + 5], 1
cmp dword [0x6cce44], ebx
je 0x52597e
mov eax, dword [0x6cd300]
cmp eax, ebx
je 0x52597e
cmp dword [0x6cd2e0], ebx
je 0x52597e
cmp dword [0x6cd2e4], ebx
je 0x52597e
cmp dword [0x6cd2ec], ebx
je 0x52597e
cmp dword [0x6cd2f0], ebx
je 0x52597e
mov edx, dword [ebp + 8]
lea ecx, [ebp + 0x14]
push 4
push ecx
push 4
push edx
mov byte [ebp - 4], 1
mov dword [ebp + 0x14], 1
call eax
jmp 0x52597e
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14