Function at 0x52c504
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff04
push ebx
mov dword [ebp - 0xc], ecx
mov word [ebp - 0x5e], dx
mov dword [ebp - 0x5c], eax
mov byte [sym.DatCutter.exe__Svclutils_InAnimationProcess], 1
mov eax, dword [ebp - 0x5c]
mov edx, dword [0x4b2760]
call fcn.004572e4
test al, al
je 0x52c553
push 0
push 0x40000
mov eax, dword [sym.DatCutter.exe__Smessages_SM_ALPHACMD]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x5c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SendMessageW
mov dword [ebp - 0x80], eax
jmp 0x52c558
xor eax, eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x52c57c
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x268], 0
je 0x52c57c
call sym.DatCutter.exe__Sgraphutils_acLayered_qqrv
test al, al
je 0x52c57c
mov byte [ebp - 0x89], 1
jmp 0x52c583
mov byte [ebp - 0x89], 0
call sym.DatCutter.exe__Sgraphutils_acLayered_qqrv
test al, al
je 0x52d056
mov eax, dword [ebp - 0x5c]
mov edx, dword [0x4b2760]
call fcn.004572e4
test al, al
je 0x52d056
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x268], 0
je 0x52c5fd
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0xd0], 0
je 0x52c5da
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0xd0]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x80]
xor edx, edx
mov dword [eax + 0xd0], edx
jmp 0x52c5fd
xor edx, edx
xor eax, eax
call sym.DatCutter.exe__Sgraphutils_CreateBmp32_qqrxixi
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x80]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_PaintAll_qqrv
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x30]
pop edx
call sym.DatCutter.exe__Sgraphutils_CreateBmp32_qqrxixi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
call fcn.004abe84
call fcn.004a55fc
push 0
mov eax, dword [ebp - 0x80]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
call sym.DatCutter.exe__Svclutils_SkinPaintTo_qqrpx16Graphics_TBitmappx17Controls_TControliip18Classes_TComponent
cmp dword [ebp - 0x1c], 0
je 0x52d3be
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x268], 0
jne 0x52c696
push 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0041c16c
lea edx, [ebp - 0xfc]
mov cl, 0xff
mov eax, dword [ebp - 0x1c]
call sym.DatCutter.exe__Salphagraph_FillAlphaRect_qqrpx16Graphics_TBitmaprx11Types_TRectuco
mov eax, dword [ebp - 0x1c]
call fcn.004abe84
call fcn.004a5700
movzx eax, word [ebp - 0x5e]
mov ecx, 0xc
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x90], 0x11b
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x24]
mov dword [ebp - 0x94], eax
lea ecx, [ebp - 0xa0]
xor edx, edx
xor eax, eax
call fcn.0041c13c
cmp dword [ebp - 0x10], 0
jle 0x52c6f4
mov byte [ebp - 0x52], 0
jmp 0x52c6fa
mov al, byte [ebp - 0xc]
mov byte [ebp - 0x52], al
mov byte [ebp - 0x54], 0
mov byte [ebp - 0x53], 0
mov byte [ebp - 0x51], 1
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x268], 0
je 0x52cd34
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
cmp dword [eax + 0x18], 0
jne 0x52c733
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_TacBorderForm_CreateNewForm_qqrv
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + 0x268]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
cmp dword [eax + 0x30], 0
je 0x52c789
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
mov eax, dword [eax + 0x30]
push eax
push 0xfffffffffffffff8
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowLongW
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_TacBorderForm_CreateNewForm_qqrv
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x20c], 0
je 0x52c7d4
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x80]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_ShadowSize_qqrv
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x84], eax
jmp 0x52c908
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_IsZoomed
test eax, eax
je 0x52c8ac
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym.DatCutter.exe__Scommondata_TsCommonData_GetSkinManager_qqrv
mov eax, dword [eax + 0xc4]
mov bx, word [eax + 0x2e]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym.DatCutter.exe__Scommondata_TsCommonData_GetSkinManager_qqrv
mov eax, dword [eax + 0xc4]
cmp bx, word [eax + 0x2c]
je 0x52c8ac
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
xor ecx, ecx
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + 0x268]
call sym.DatCutter.exe__Sskinprovider_SysBorderWidth_qqrxp6HWND__px27Sskinprovider_TacBorderFormo
push eax
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x80]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_ShadowSize_qqrv
mov ebx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_SkinTitleHeight_qqrpx27Sskinprovider_TacBorderForm
add ebx, eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24c]
call sym.DatCutter.exe__Sskinprovider_SysCaptHeight_qqrp11Forms_TForm
sub ebx, eax
pop eax
sub ebx, eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym.DatCutter.exe__Scommondata_TsCommonData_GetSkinManager_qqrv
mov eax, dword [eax + 0xc4]
movsx eax, word [eax + 0x2c]
add ebx, eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym.DatCutter.exe__Scommondata_TsCommonData_GetSkinManager_qqrv
mov eax, dword [eax + 0xc4]
movsx eax, word [eax + 0x2e]
sub ebx, eax
mov dword [ebp - 0x84], ebx
jmp 0x52c908
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
xor ecx, ecx
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + 0x268]
call sym.DatCutter.exe__Sskinprovider_SysBorderWidth_qqrxp6HWND__px27Sskinprovider_TacBorderFormo
push eax
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x80]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_ShadowSize_qqrv
mov ebx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_SkinTitleHeight_qqrpx27Sskinprovider_TacBorderForm
add ebx, eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24c]
call sym.DatCutter.exe__Sskinprovider_SysCaptHeight_qqrp11Forms_TForm
sub ebx, eax
pop eax
sub ebx, eax
mov dword [ebp - 0x84], ebx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
xor ecx, ecx
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + 0x268]
call sym.DatCutter.exe__Sskinprovider_SysBorderWidth_qqrxp6HWND__px27Sskinprovider_TacBorderFormo
push eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_SkinBorderWidth_qqrpx27Sskinprovider_TacBorderForm
mov ebx, eax
pop eax
sub ebx, eax
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x80]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_ShadowSize_qqrv
add ebx, dword [ebp - 0xfc]
mov dword [ebp - 0x88], ebx
invalid
invalid