Function at 0x52a0ec
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff48
push ebx
push esi
mov dword [ebp - 0xc], ecx
mov word [ebp - 0x5e], dx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x58], 0
je 0x52a905
mov byte [sym.DatCutter.exe__Svclutils_InAnimationProcess], 1
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x268], 0
je 0x52a158
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x8c], eax
push 0
push 0
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowRgn
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_TacBorderForm_PaintAll_qqrv
jmp 0x52a1c5
mov eax, dword [ebp - 0x5c]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_PaintAll_qqrv
mov ecx, dword [0x6b0740]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x4b45a8]
call fcn.004bad10
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [ebp - 0x8c]
call fcn.004bcc78
push 0xffffffffffffffec
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_GetWindowLongW
or eax, 0x80
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowLongW
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
cmp dword [eax + 0x44], 0
je 0x52a905
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x5c]
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 - 0x5c]
push eax
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x24c]
mov eax, dword [ebp - 0x1c]
call sym.DatCutter.exe__Svclutils_SkinPaintTo_qqrpx16Graphics_TBitmappx17Controls_TControliip18Classes_TComponent
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x268], 0
jne 0x52a262
push 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0xb8]
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 - 0xb8]
mov cl, 0xff
mov eax, dword [ebp - 0x1c]
call sym.DatCutter.exe__Salphagraph_FillAlphaRect_qqrpx16Graphics_TBitmaprx11Types_TRectuco
cmp dword [ebp - 0x1c], 0
je 0x52a905
mov eax, dword [ebp - 0x1c]
call fcn.004abe84
call fcn.004a5700
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x24]
mov dword [ebp - 0x7c], eax
movzx eax, word [ebp - 0x5e]
mov ecx, 0xc
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x78], 0x718
lea ecx, [ebp - 0x88]
xor edx, edx
xor eax, eax
call fcn.0041c13c
cmp dword [ebp - 0x10], 0
jle 0x52a2c1
mov byte [ebp - 0x52], 0
jmp 0x52a2c7
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
xor eax, eax
mov dword [ebp - 0x70], eax
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x268], 0
je 0x52a449
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004bb900
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x24c]
add eax, dword [edx + 0x4c]
push eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004bb8e0
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x24c]
add eax, dword [edx + 0x48]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004bb900
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004bb8e0
pop edx
pop ecx
call fcn.0041c16c
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_IsZoomed
test eax, eax
je 0x52a387
mov dl, 1
mov eax, dword [ebp - 0x5c]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_CaptionHeight_qqro
mov ebx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call sym.DatCutter.exe__Sskinprovider_SysCaptHeight_qqrp11Forms_TForm
add eax, 4
cmp ebx, eax
jl 0x52a38b
xor eax, eax
jmp 0x52a38d
mov al, 1
mov edx, dword [ebp - 0x5c]
mov byte [edx + 0x20c], al
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0x20c], 0
je 0x52a3ed
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x268]
call sym.DatCutter.exe__Sskinprovider_SysBorderWidth_qqrxp6HWND__px27Sskinprovider_TacBorderFormo
mov ebx, eax
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x5c]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_ShadowSize_qqrv
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_DiffTitle_qqrpx27Sskinprovider_TacBorderForm
add esi, eax
add ebx, esi
mov dword [ebp - 0x70], ebx
jmp 0x52a3fe
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_TacBorderForm_OffsetY_qqrv
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x268]
call sym.DatCutter.exe__Sskinprovider_SysBorderWidth_qqrxp6HWND__px27Sskinprovider_TacBorderFormo
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_SkinBorderWidth_qqrpx27Sskinprovider_TacBorderForm
mov ebx, eax
pop eax
sub ebx, eax
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x5c]
call sym.DatCutter.exe__Sskinprovider_TsSkinProvider_ShadowSize_qqrv
add ebx, dword [ebp - 0xb8]
mov dword [ebp - 0x74], ebx
jmp 0x52a464
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_GetWindowRect
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov ecx, dword [ebp - 0xa4]
sub ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0xa8]
sub edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x8c]
mov ebx, dword [eax]
call dword [ebx + 0x98]
push 0xffffffffffffffec
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_GetWindowLongW
and eax, 8
cmp eax, 8
jne 0x52a4ca
mov dl, 3
mov eax, dword [ebp - 0x8c]
call fcn.004bd098
mov dword [ebp - 0x6c], 0xffffffff
jmp 0x52a4e3
push 3
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_GetWindow
mov dword [ebp - 0x6c], eax
push 0
call sub.USER32.DLL_GetDC
mov dword [ebp - 0x64], eax
push 0xffffffffffffffec
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_GetWindowLongW
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowLongW
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.004abe84
call fcn.004a65ec
push eax
lea eax, [ebp - 0x80]
push eax
push 0
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
mov eax, dword [sym.DatCutter.exe__Sgraphutils_UpdateLayeredWindow]
mov eax, dword [eax]
call eax
push 4
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_ShowWindow
mov eax, dword [ebp - 0x78]
or eax, 8
push eax
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004bb900
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004bb8e0
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowPos
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
call sym.DatCutter.exe__Sgraphutils_CreateBmp32_qqrxixi
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0041c16c
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x58]
call fcn.004abe84
call fcn.004a65ec
xor ecx, ecx
pop edx
call sym.DatCutter.exe__Sgraphutils_FillDC_qqrp5HDC__rx11Types_TRectx15Graphics_TColor
push 3
mov eax, dword [ebp - 0x58]
call fcn.004abe84
call fcn.004a65ec
push eax
call sub.GDI32.DLL_SetStretchBltMode
cmp dword [ebp - 0x10], 0
jle 0x52a693
push ebp
call fcn.00529d50
pop ecx
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x10]
jg 0x52a68d
push ebp
call fcn.00529e9c
pop ecx
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x58]
call fcn.004abe84
call fcn.004a65ec
push eax
lea eax, [ebp - 0x80]
push eax
push 0
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
mov eax, dword [sym.DatCutter.exe__Sgraphutils_UpdateLayeredWindow]
mov eax, dword [eax]
call eax
push ebp
call fcn.0052a090
pop ecx
inc dword [ebp - 0x68]
cmp dword [ebp - 0x10], 0
jle 0x52a685
push 0xc
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x10]
jle 0x52a628
mov al, byte [ebp - 0xc]
mov byte [ebp - 0x52], al
mov eax, dword [ebp - 0x78]
or eax, 4
push eax
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x74]
push eax
push 0
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowPos
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.004abe84
call fcn.004a65ec
push eax
lea eax, [ebp - 0x80]
push eax
push 0
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
mov eax, dword [sym.DatCutter.exe__Sgraphutils_UpdateLayeredWindow]
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x90]
call fcn.004570c8
mov eax, dword [ebp - 0x64]
push eax
push 0
call sub.USER32.DLL_ReleaseDC
cmp dword [ebp - 0x5c], 0
je 0x52a75f
mov eax, dword [ebp - 0x5c]
mov byte [eax + 0x220], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
cmp byte [eax + 0x340], 0
je 0x52a75f
mov dl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004c165c
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowPos
push 0
push 1
push 0xb
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SendMessageW
mov byte [sym.DatCutter.exe__Svclutils_InAnimationProcess], 0
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x268], 0
je 0x52a7c6
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
mov byte [eax + 0x28], 1
push 0x785
push 0
push 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
call sub.USER32.DLL_RedrawWindow
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x268], 0
je 0x52a7fc
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
mov byte [eax + 0x28], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x94], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x94]
call fcn.004570c8
call sym.DatCutter.exe__Sskinprovider_AeroIsEnabled_qqrv
test al, al
je 0x52a825
push 0xc
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp - 0x78]
or eax, 1
or eax, 2
push eax
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c]
call fcn.004f0054
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowPos
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x268], 0
jne 0x52a898
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x98]
call fcn.004570c8
jmp 0x52a8e7
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_TacBorderForm_MakeRgn_qqrii
push eax
mov eax, dword [ebp - 0x8c]
call fcn.004f0054
push eax
call sub.USER32.DLL_SetWindowRgn
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
call sym.DatCutter.exe__Scommondata_TsCommonData_GetSkinManager_qqrv
mov eax, dword [eax + 0xc4]
cmp byte [eax + 0x58], 0
je 0x52a8e7
mov cl, 0xff
mov dl, 1
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x268]
call sym.DatCutter.exe__Sskinprovider_TacBorderForm_UpdateExBordersPos_qqrouc
mov eax, dword [ebp - 0x5c]
cmp word [eax + 0x92], 0
je 0x52a905
mov ebx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x94]
call dword [ebx + 0x90]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4