Function at 0x56ea68
Capabilities:
Check os version
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x80], ebx
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x56fb1e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x56fb00
cmp byte [eax + 0x30], 0
je 0x56fb00
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_RealBorderWidth_qqrv
mov esi, eax
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x88]
call fcn.004fdd24
push eax
call sub.GDI32.DLL_GetClipBox
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x60]
xor edx, edx
call fcn.004e8de0
cmp eax, dword [ebp - 0xc]
je 0x56eb0d
mov eax, dword [ebp - 8]
cmp dword [eax + 0x30], 0
jne 0x56eb67
mov eax, dword [ebp - 0xc]
call fcn.004e939c
call sym.StartupControl.exe__Svclutils_GetOwnerForm_qqrpx18Classes_TComponent
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x18], ebx
test ebx, ebx
je 0x56eb42
mov eax, ebx
call sym.StartupControl.exe__Svclutils_GetControlPPI_qqrp17Controls_TControl
mov edx, eax
mov eax, dword [ebp - 0x90]
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_CommonSkinData_qqri
mov edx, dword [ebp - 8]
mov dword [edx + 0x30], eax
jmp 0x56eb58
mov edx, 0x60
mov eax, dword [ebp - 0x90]
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_CommonSkinData_qqri
mov edx, dword [ebp - 8]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 8]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_NoBorder_qqrv
test al, al
je 0x56eb99
mov eax, dword [ebp - 0x104]
mov edx, eax
sub edx, dword [ebp - 0x2c]
cmp edx, 0xa
jge 0x56eb86
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x100]
mov edx, eax
sub edx, dword [ebp - 0x28]
cmp edx, 0xa
jge 0x56eb99
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_IsRTL_qqrp15Menus_TMenuItem
mov byte [ebp - 0x1d], al
mov eax, dword [sym.StartupControl.exe__Sconst_TempControl]
cmp dword [eax], 0
je 0x56ebec
mov eax, dword [sym.StartupControl.exe__Sconst_ShowHintStored]
cmp byte [eax], 0
je 0x56ebd0
mov edx, dword [sym.StartupControl.exe__Sconst_AppShowHint]
movzx edx, byte [edx]
mov eax, dword [0x7b9688]
mov eax, dword [eax]
call fcn.00515d84
mov eax, dword [sym.StartupControl.exe__Sconst_TempControl]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x2a3
call sym.StartupControl.exe__Svclutils_SendAMessage_qqrpx17Controls_TControlxii
mov eax, dword [sym.StartupControl.exe__Sconst_TempControl]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x88]
call fcn.004fd650
xor edx, edx
push ebp
push 0x56faf9
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [sym.StartupControl.exe__Sskinmanager_IsNT]
cmp byte [eax], 0
je 0x56ec28
mov eax, dword [ebp - 0x88]
call fcn.004fdd24
push eax
call sub.USER32.DLL_WindowFromDC
mov dword [ebp - 0x8c], eax
jmp 0x56ec30
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_GetMenuInfo_qqrp15Menus_TMenuItemp16Graphics_TCanvasp6HWND__
mov edi, eax
lea edx, [ebp - 0xdc]
mov eax, dword [edi + 4]
call sym.StartupControl.exe__Acntutils_MkRect_qqrp16Graphics_TBitmap
mov ebx, dword [edi + 4]
cmp dword [ebp - 0x8c], 0
jne 0x56ecbc
mov eax, dword [0x7b9688]
mov eax, dword [eax]
cmp dword [eax + 0x170], 0
je 0x56ecbc
push 0
push 0xbcb4
push 0xbcb3
mov eax, dword [0x7b9688]
mov eax, dword [eax]
mov eax, dword [eax + 0x170]
push eax
lea eax, [ebp - 0xcc]
push eax
call sub.USER32.DLL_PeekMessageW
test eax, eax
jne 0x56ecbc
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0xbcb3
mov eax, dword [0x7b9688]
mov eax, dword [eax]
mov eax, dword [eax + 0x170]
push eax
call sub.USER32.DLL_PostMessageW
cmp dword [ebp - 0x8c], 0
je 0x56ece6
test ebx, ebx
je 0x56ece6
mov eax, dword [ebp - 0xc]
call sym.StartupControl.exe__Sskinmenus_GetFirstItem_qqrp15Menus_TMenuItem
cmp eax, dword [ebp - 0xc]
jne 0x56ece6
mov ecx, ebx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_DrawWndBorder_qqrp6HWND__p16Graphics_TBitmap
mov eax, dword [ebp - 0xc]
call fcn.004e9fac
test al, al
je 0x56ed1e
mov eax, dword [ebp - 0xc]
push eax
push ebx
push edi
lea ecx, [ebp - 0x34]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_PaintDivider_qqrp16Graphics_TCanvasrx11Types_TRectp15Menus_TMenuItemp16Graphics
mov eax, dword [ebp - 0x88]
call fcn.004fdbf0
call fcn.004c1538
jmp 0x56fb00
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_IsDivText_qqrp15Menus_TMenuItem
test al, al
je 0x56ed73
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_GetMenuInfo_qqrp15Menus_TMenuItemp16Graphics_TCanvasp6HWND__
mov edi, eax
mov eax, dword [ebp - 0xc]
push eax
push ebx
push edi
lea ecx, [ebp - 0x34]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_PaintCaption_qqrp16Graphics_TCanvasrx11Types_TRectp15Menus_TMenuItemp16Graphics
mov eax, dword [ebp - 0x88]
call fcn.004fdbf0
call fcn.004c1538
jmp 0x56fb00
mov eax, dword [ebp - 8]
mov byte [eax + 0x20], 2
test ebx, ebx
jne 0x56ed93
mov eax, dword [ebp - 0x88]
call fcn.004fdbf0
call fcn.004c1538
jmp 0x56fb00
mov edx, 0x60
mov eax, dword [ebp - 0x90]
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_CommonSkinData_qqri
mov eax, dword [eax + 0x230]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc]
call fcn.004e8e38
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x60]
call fcn.004e8dd0
dec eax
pop edx
cmp edx, eax
jge 0x56eec1
cmp byte [edi + 0xd], 0
jne 0x56ee4c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x44], 2
jne 0x56ee4c
cmp dword [ebp - 0x9c], 0
jl 0x56ee04
imul eax, dword [ebp - 0x9c], 0x26
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x52c]
mov eax, dword [edx + eax*8 + 0x2c]
mov dword [ebp - 0xa4], eax
jmp 0x56ee0e
mov dword [ebp - 0xa4], 0x808080
push 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x34]
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x34]
call fcn.004a7b3c
lea eax, [ebp - 0x11c]
push eax
mov eax, ebx
call fcn.00502d6c
call fcn.004fdd24
mov ecx, dword [ebp - 0xa4]
pop edx
call sym.StartupControl.exe__Sgraphutils_FillDC_qqrp5HDC__rx11Types_TRectx15Graphics_TColori
mov eax, dword [ebp - 0xc]
call fcn.004e8e38
mov edx, eax
inc edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x60]
call fcn.004e8de0
cmp byte [eax + 0x44], 0
je 0x56ef2a
push 0xcc0020
mov eax, dword [ebp - 0x28]
add eax, esi
push eax
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
mov eax, ebx
call fcn.00502d6c
call fcn.004fdd24
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, esi
add edx, edx
sub eax, edx
sub eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
xor edx, edx
call sym.StartupControl.exe__Acntutils_WidthOf_qqrrx11Types_TRectxo
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x88]
call fcn.004fdd24
push eax
call sub.GDI32.DLL_BitBlt
jmp 0x56ef2a
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, esi
add edx, edx
sub eax, edx
cmp eax, dword [ebp - 0x28]
jle 0x56ef26
push 0xcc0020
mov eax, dword [ebp - 0x28]
add eax, esi
push eax
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
mov eax, ebx
call fcn.00502d6c
call fcn.004fdd24
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, esi
add edx, edx
sub eax, edx
sub eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
xor edx, edx
call sym.StartupControl.exe__Acntutils_WidthOf_qqrrx11Types_TRectxo
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x88]
call fcn.004fdd24
push eax
call sub.GDI32.DLL_BitBlt
mov byte [edi + 0xd], 1
mov edx, edi
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_ExtraWidth_qqrpx22Sskinmenus_TacMenuInfo
mov edi, eax
lea eax, [ebp - 0x34]
call sym.StartupControl.exe__Sgraphutils_CreateBmp32_qqrrx11Types_TRect
mov dword [ebp - 4], eax
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call sym.StartupControl.exe__Acntutils_MkRect_qqrp16Graphics_TBitmap
test edi, edi
jle 0x56ef75
cmp byte [ebp - 0x1d], 0
je 0x56ef6d
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
sub eax, dword [ebp - 0x2c]
mov edx, esi
add edx, edx
cmp eax, edx
jg 0x56ef75
sub dword [ebp - 0x14], edi
jmp 0x56ef75
cmp esi, dword [ebp - 0x34]
jl 0x56ef75
add dword [ebp - 0x1c], edi
push 0xcc0020
mov eax, dword [ebp - 0x30]
add eax, esi
push eax
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
mov eax, ebx
call fcn.00502d6c
call fcn.004fdd24
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00502d6c
call fcn.004fdd24
push eax
call sub.GDI32.DLL_BitBlt
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x56efcb
test byte [ebp + 8], 1
jne 0x56efcf
xor eax, eax
jmp 0x56efd1
mov al, 1
mov byte [ebp - 0x91], al
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x90]
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_IsValidSkinIndex_qqri
test al, al
je 0x56f07e
cmp byte [ebp - 0x91], 0
jne 0x56f013
imul eax, dword [ebp - 0x9c], 0x26
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x52c]
cmp dword [edx + eax*8 + 0x14], 0x64
jge 0x56f07e
movzx eax, byte [ebp - 0x91]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x124]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
call fcn.004a7b6c
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
call fcn.004fdd24
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov edx, 0x60
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_CommonSkinData_qqri
push eax
lea eax, [ebp - 0x148]
push eax
mov ecx, esi
mov edx, esi
mov eax, ebx
call sym.StartupControl.exe__Acntutils_MakeCacheInfo_qqrpx16Graphics_TBitmapxixi
lea edx, [ebp - 0x148]
mov cl, 1
mov eax, dword [ebp - 0x9c]
call sym.StartupControl.exe__Sgraphutils_PaintItem_qqrirx17Sconst_TCacheInfooirx11Types_TRectrx12Types_TPointp5HDC__p19Acnttypes_TacObj
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x56f08d
test byte [ebp + 8], 1
jne 0x56f091
xor eax, eax
jmp 0x56f093
mov al, 1
and eax, 0x7f
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov eax, dword [eax + 0xc]
imul edx, dword [ebp - 0x9c], 0x26
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x52c]
lea edx, [ecx + edx*8]
mov ecx, dword [ebp - 0x6c]
mov edi, ecx
shl ecx, 4
sub ecx, edi
mov edx, dword [edx + ecx*4 + 0x2c]
call fcn.004fc5e0
test byte [ebp + 8], 8
je 0x56f2da
mov eax, dword [ebp - 0xc]
call fcn.004e923c
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
je 0x56f2da
mov eax, dword [ebp - 0xc]
call fcn.004e8548
test eax, eax
je 0x56f105
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x3c], 0
jge 0x56f2da
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x39], 0
je 0x56f16f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xa4]
call sym.StartupControl.exe__Sskinmanager_TacButtonsSupport_GetOldGlyphsMode_qqrv
test al, al
je 0x56f14e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
push eax
mov eax, dword [ebp - 0x90]
mov edx, dword [eax + 0xa1cc]
mov ecx, 0x56fb3c
mov eax, dword [ebp - 0x90]
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_GetMaskIndex_qqrxix20System_UnicodeStringp24Sskinmanager_TacSkinData
mov dword [ebp - 0xa0], eax
jmp 0x56f158
mov dword [ebp - 0xa0], 0xffffffff
cmp dword [ebp - 0xa0], 0
jge 0x56f1ad
push ebp
mov eax, 5
call fcn.0056e92c
pop ecx
jmp 0x56f1ad
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
push eax
mov eax, dword [ebp - 0x90]
mov edx, dword [eax + 0xa1cc]
mov ecx, 0x56fb64
mov eax, dword [ebp - 0x90]
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_GetMaskIndex_qqrxix20System_UnicodeStringp24Sskinmanager_TacSkinData
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jge 0x56f1ad
push ebp
mov eax, 6
call fcn.0056e92c
pop ecx
cmp dword [ebp - 0xa0], 0
jl 0x56f2da
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax*8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x524]
mov edi, dword [edx + eax*8 + 0x40]
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax*8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x524]
mov eax, dword [edx + eax*8 + 0x44]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x34]
xor edx, edx
call sym.StartupControl.exe__Acntutils_HeightOf_qqrrx11Types_TRectxo
sub eax, dword [ebp - 0xac]
sar eax, 1
jns 0x56f209
adc eax, 0
mov dword [ebp - 0xf8], eax
mov eax, dword [0x7ab928]
sub eax, edi
sar eax, 1
jns 0x56f21d
adc eax, 0
test eax, eax
jge 0x56f22b
xor eax, eax
mov dword [ebp - 0xb0], eax
jmp 0x56f231
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0xfc], eax
add edi, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], edi
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xf0], eax
cmp byte [ebp - 0x1d], 0
je 0x56f27f
push 1
lea eax, [ebp - 0x1c]
xor edx, edx
call sym.StartupControl.exe__Acntutils_WidthOf_qqrrx11Types_TRectxo
mov edx, eax
lea eax, [ebp - 0xfc]
xor ecx, ecx
call sym.StartupControl.exe__Acntutils_ReflectRect_qqrr11Types_TRectiio
push 1
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax*8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x524]
lea eax, [edx + eax*8]
push eax
lea eax, [ebp - 0x148]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call sym.StartupControl.exe__Acntutils_MakeCacheInfo_qqrpx16Graphics_TBitmapxixi
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x56f2c3
test byte [ebp + 8], 1
jne 0x56f2c7
xor ecx, ecx
jmp 0x56f2c9
mov cl, 1
and ecx, 0x7f
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 4]
call sym.StartupControl.exe__Salphagraph_DrawSkinGlyph_qqrp16Graphics_TBitmaprx12Types_TPointiirx20Smaskdata_TsMaskDatarx17Sconst_TCach
mov eax, dword [ebp - 0xc]
call fcn.004e923c
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
je 0x56f31f
mov eax, dword [ebp - 0xc]
call fcn.004e8548
test eax, eax
je 0x56f5bf
mov eax, dword [ebp - 0xc]
call fcn.004e8548
call sym.StartupControl.exe__Sthirdparty_GetImageCount_qqrp24Imglist_TCustomImageList
mov edx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x3c]
xor ecx, ecx
call sym.StartupControl.exe__Acntutils_IsValidIndex_qqriii
test al, al
je 0x56f5bf
mov eax, dword [ebp - 0xc]
call fcn.004e923c
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x56f3a8
mov eax, dword [ebp - 0xc]
call fcn.004e923c
mov edx, dword [eax]
call dword [edx + 0x30]
mov edi, eax
mov eax, dword [ebp - 0xc]
call fcn.004e923c
mov edx, dword [eax]
call dword [edx + 0x24]
mov dword [ebp - 0xac], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc]
call fcn.004e923c
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x124]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_GlyphSize_qqrp15Menus_TMenuItemo
mov eax, dword [ebp - 0x124]
push eax
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_GetMargin_qqrv
pop edx
add edx, eax
push edx
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_GetSpacing_qqrv
pop edx
add edx, eax
sub edx, edi
sar edx, 1
jns 0x56f39d
adc edx, 0
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0xec], edx
jmp 0x56f416
push 0
mov eax, dword [ebp - 0xc]
call fcn.004e8548
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x3c]
call sym.StartupControl.exe__Sthirdparty_GetImageWidth_qqrp24Imglist_TCustomImageListiio
mov edi, eax
push 0
mov eax, dword [ebp - 0xc]
call fcn.004e8548
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x3c]
call sym.StartupControl.exe__Sthirdparty_GetImageHeight_qqrp24Imglist_TCustomImageListiio
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xc]
call fcn.004e8548
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [0x7ab928]
sub eax, edi
sar eax, 1
jns 0x56f40d
adc eax, 0
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x24]
sub eax, dword [ebp - 0xac]
sar eax, 1
jns 0x56f42b
adc eax, 0
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xe0], eax
add edi, dword [ebp - 0xec]
mov dword [ebp - 0xe4], edi
cmp byte [ebp - 0x1d], 0
je 0x56f470
push 1
lea eax, [ebp - 0x1c]
xor edx, edx
call sym.StartupControl.exe__Acntutils_WidthOf_qqrrx11Types_TRectxo
mov edx, eax
lea eax, [ebp - 0xec]
xor ecx, ecx
call sym.StartupControl.exe__Acntutils_ReflectRect_qqrr11Types_TRectiio
push esi
lea esi, [ebp - 0xec]
lea edi, [ebp - 0x5c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x3c], eax
movzx eax, byte [0x56fb70]
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x35]
mov byte [ebp - 0x66], al
xor eax, eax
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x68], 0
test byte [ebp + 8], 8
je 0x56f548
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xa1dc]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jl 0x56f548
push 1
push 1
lea eax, [ebp - 0xec]
push eax
call sub.USER32.DLL_InflateRect
push 2
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x124]
xor edx, edx
xor eax, eax
call sym.StartupControl.exe__Acntutils_MkPoint_qqrxixi
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov edx, 0x60
call sym.StartupControl.exe__Sskinmanager_TsSkinManager_CommonSkinData_qqri
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x148]
push eax
mov ecx, esi
mov edx, esi
mov eax, dword [ebp - 4]
call sym.StartupControl.exe__Acntutils_MakeCacheInfo_qqrpx16Graphics_TBitmapxixi
lea edx, [ebp - 0x148]
mov cl, 1
mov eax, dword [ebp - 0xa0]
call fcn.00648c18
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0xec]
push eax
call sub.USER32.DLL_InflateRect
mov byte [ebp - 0x65], 0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x80]
cmp byte [eax + 7], 0
je 0x56f564
test byte [ebp + 8], 1
je 0x56f568
xor eax, eax
jmp 0x56f56a
mov al, 1
mov byte [ebp - 0x67], al
mov eax, dword [ebp - 4]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x9c], 0x26
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + 0x52c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x6c]
mov ecx, edx
shl edx, 4
sub edx, ecx
mov eax, dword [eax + edx*4 + 0x1c]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x74], 1
lea eax, [ebp - 0x7c]
call sym.StartupControl.exe__Sthirdparty_acDrawGlyphEx_qqrrx28Sthirdparty_TacDrawGlyphData
jmp 0x56f658
mov eax, dword [ebp - 0xc]
call fcn.004e939c
test eax, eax
je 0x56f658
mov eax, dword [ebp - 0xc]
call fcn.004e939c
mov edx, dword [eax + 8]
mov eax, 0x56fb80
call fcn.004c34cc
dec eax
jne 0x56f658
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
cmp eax, 0xf030
jg 0x56f604
je 0x56f622
sub eax, 0xf010
je 0x56f64c
sub eax, 0x10
je 0x56f614
jmp 0x56f658
sub eax, 0xf060
je 0x56f63e
sub eax, 0xc0
je 0x56f630
jmp 0x56f658
push ebp
mov eax, 0x15
call fcn.0056e92c
pop ecx
jmp 0x56f658
push ebp
mov eax, 0x16
call fcn.0056e92c
pop ecx
jmp 0x56f658
push ebp
mov eax, 0x17
call fcn.0056e92c
pop ecx
jmp 0x56f658
push ebp
mov eax, 0x18
call fcn.0056e92c
pop ecx
jmp 0x56f658
push ebp
mov eax, 7
call fcn.0056e92c
pop ecx
test byte [ebp + 8], 0x20
setne al
push eax
push 0
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov edx, eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_UpdateFont_qqrp16Graphics_TCanvasp15Menus_TMenuItemoo
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
cmp word [eax + 0xca], 0
je 0x56f710
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 8]
mov edi, dword [eax + 0x44]
movzx ecx, word [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [edi + 0xcc]
call dword [edi + 0xc8]
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov eax, dword [eax + 0xc]
call fcn.004fc620
push eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
call fcn.004fdd24
push eax
call sub.GDI32.DLL_SelectObject
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
cmp eax, dword [ebp - 0xa4]
je 0x56f710
mov dword [ebp - 0x9c], 0xffffffff
push ebp
lea eax, [ebp - 0x11c]
call fcn.0056e7b8
pop ecx
push esi
lea esi, [ebp - 0x11c]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
call fcn.004c2a4c
mov edx, dword [ebp - 0x24]
mov eax, 0x56fba0
call fcn.004c34cc
mov dword [ebp - 0xa4], eax
xor edi, edi
cmp dword [ebp - 0xa4], 0
je 0x56f7bd
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x56f778
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x56f778
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x24]
call fcn.004c1d4c
test eax, eax
je 0x56f781
sub eax, 4
mov eax, dword [eax]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x80]
push eax
mov edx, dword [ebp - 0xa4]
inc edx
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x24]
call fcn.004c31b4
mov ecx, dword [ebp - 0xa8]
inc ecx
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xa4]
call fcn.004c3284
jmp 0x56f824
cmp dword [ebp - 0x24], 0
je 0x56f7e9
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x56f7e0
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x56f7e0
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x24]
call fcn.004c1d4c
cmp word [eax], 8
sete al
jmp 0x56f7eb
xor eax, eax
test al, al
je 0x56f816
lea eax, [ebp - 0x24]
mov ecx, 1
mov edx, 1
call fcn.004c3284
lea eax, [ebp - 0x24]
mov edx, 0x56fbb0
call fcn.004c2e1c
mov edi, dword [0x7ab920]
jmp 0x56f824
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x28]
mov edi, dword [eax*4 + 0x7ab91c]
mov edx, dword [ebp - 0x24]
mov eax, 0x56fbcc
call fcn.004c34cc
test eax, eax
setg al
mov ecx, 0x20
mov edx, 0x10
call sym.StartupControl.exe__Acntutils_iff_qqrxoxixi
or edi, 0x40
or edi, 4
or edi, 0x100
or eax, edi
mov edi, eax
cmp byte [ebp - 0x1d], 0
je 0x56f864
or edi, 2
or edi, 0x20000
test byte [ebp + 9], 1
je 0x56f882
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x8c]
cmp byte [eax + 0x1d], 0
jne 0x56f882
or edi, 0x100000
mov eax, dword [ebp - 8]
call sym.StartupControl.exe__Sskinmenus_TsSkinableMenus_GetMargin_qqrv
neg eax
push eax
push 0
lea eax, [ebp - 0xdc]
push eax
call sub.USER32.DLL_InflateRect
lea eax, [ebp - 0xdc]
push eax
push edi
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x56f8bf
test byte [ebp + 8], 1
jne 0x56f8c3
test byte [ebp + 8], 0x40
jne 0x56f8c3
xor eax, eax
jmp 0x56f8c5
mov al, 1
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
push eax
mov eax, dword [ebp - 0x24]
call fcn.004c2a84
mov edx, eax
mov cl, 1
pop eax
call sym.StartupControl.exe__Sgraphutils_acWriteTextEx_qqrpx16Graphics_TCanvaspxbxor11Types_TRectxuixixopx14System_TObject
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x84]
movzx eax, word [eax + 0x5c]
call fcn.004e50c0
cmp dword [ebp - 0x24], 0
je 0x56f976
mov edi, 0x24
push ebp
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x24]
call fcn.0056e838
pop ecx
push esi
push edi
lea esi, [ebp - 0x11c]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [ebp - 0xdc]
push eax
push edi
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x56f94d
test byte [ebp + 8], 1
jne 0x56f951
test byte [ebp + 8], 0x40
jne 0x56f951
xor eax, eax
jmp 0x56f953
mov al, 1
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
push eax
mov eax, dword [ebp - 0x24]
call fcn.004c2a84
mov edx, eax
mov cl, 1
pop eax
call sym.StartupControl.exe__Sgraphutils_acWriteTextEx_qqrpx16Graphics_TCanvaspxbxor11Types_TRectxuixixopx14System_TObject
cmp dword [ebp - 0x80], 0
je 0x56f9d5
mov edi, 0x26
sub dword [ebp - 0xd4], 8
lea eax, [ebp - 0xdc]
push eax
push edi
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x56f9ac
test byte [ebp + 8], 1
jne 0x56f9b0
test byte [ebp + 8], 0x40
jne 0x56f9b0
xor eax, eax
jmp 0x56f9b2
mov al, 1
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
push eax
mov eax, dword [ebp - 0x80]
call fcn.004c2a84
mov edx, eax
mov cl, 1
pop eax
call sym.StartupControl.exe__Sgraphutils_acWriteTextEx_qqrpx16Graphics_TCanvaspxbxor11Types_TRectxuixixopx14System_TObject
mov eax, dword [ebp - 8]
cmp word [eax + 0x3a], 0
je 0x56fa17
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 4]
call sym.StartupControl.exe__Acntutils_MkRect_qqrp16Graphics_TBitmap
lea eax, [ebp - 0x11c]
push eax
movzx eax, word [ebp + 8]
push eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x20]
push eax
mov eax, dword [ebp - 4]
call fcn.00502d6c
mov ecx, eax
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [edi + 0x3c]
call dword [edi + 0x38]
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
jne 0x56fa60
push esi
lea esi, [ebp - 0x34]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
lea eax, [ebp - 0xdc]
mov ecx, esi
mov edx, esi
call fcn.004a7ca8
push ebx
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [sym.StartupControl.exe__Sdefaults_DefBlendDisabled]
movzx eax, byte [eax]
push eax
push 0xff00ff
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call sym.StartupControl.exe__Sgraphutils_BlendTransRectangle_qqrp16Graphics_TBitmapiit1rx11Types_TRectuc15Graphics_TColor
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00502d6c
call fcn.004fdd24
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x88]
call fcn.004fdd24
push eax
call sub.GDI32.DLL_BitBlt
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [ebp - 4], edx
call fcn.004c09bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56fb00
mov eax, dword [ebp - 0xc]
cmp word [eax + 0x92], 0
je 0x56faed
lea eax, [ebp - 0x34]
push eax
test byte [ebp + 8], 1
setne al
push eax
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x94]
call dword [ebx + 0x90]
mov eax, dword [ebp - 0x88]
call fcn.004fdbf0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56fb25
lea eax, [ebp - 0x80]
call fcn.004c29e8
lea eax, [ebp - 0x24]
call fcn.004c29e8
ret