Function at 0x53cdf0
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffc8
mov ebx, eax
mov eax, ebx
call fcn.0054ab48
test al, al
je 0x53d21e
mov eax, ebx
call fcn.0053c5c4
test al, al
jne 0x53d21e
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x22b], 1
je 0x53d21e
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x1a6], 0
je 0x53d21e
cmp dword [ebx + 0x2bc], 0
je 0x53ce59
mov eax, dword [ebx + 0x28c]
cmp dword [eax + 0x248], 0
je 0x53d21e
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x22f], 1
jne 0x53ce83
cmp dword [0x59fa98], 0
je 0x53ce83
mov eax, dword [0x59fa98]
cmp dword [eax + 0xdc], 0
jg 0x53d21e
test byte [ebx + 0x2a0], 0x80
jne 0x53d21e
cmp dword [ebx + 0x290], 0
jne 0x53ceeb
push 0
mov ecx, dword [0x59da60]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x53c94c]
call fcn.0045fad8
mov esi, eax
mov dword [ebx + 0x290], esi
mov dword [esi + 0x300], ebx
test esi, esi
je 0x53d21e
mov eax, esi
call fcn.0044d988
mov eax, dword [ebx + 0x290]
call fcn.0044dcb0
test al, al
jne 0x53ceeb
lea eax, [ebx + 0x290]
call fcn.0040f078
jmp 0x53d21e
cmp dword [ebx + 0x2bc], 0
je 0x53cf90
mov eax, ebx
call fcn.005472e4
mov esi, eax
mov eax, ebx
call fcn.00546c74
imul esi, eax
inc esi
mov eax, ebx
call fcn.00546b80
mov edi, eax
mov eax, dword [ebx + 0x28c]
add edi, dword [eax + 0x44]
sub edi, esi
lea edx, [esp + 0x28]
mov eax, ebx
call fcn.00549d48
sub edi, dword [esp + 0x2c]
mov eax, dword [ebx + 0x2bc]
call fcn.0053c350
sub edi, eax
mov ebp, dword [ebx + 0x28c]
mov eax, ebp
call fcn.0044d9ac
xor ecx, ecx
mov edx, dword [ebx + 0x2bc]
call fcn.0053c140
add eax, dword [ebp + 0x40]
mov dword [esp + 0x10], eax
mov ebp, dword [ebx + 0x28c]
mov eax, ebp
call fcn.0044d9ac
xor ecx, ecx
mov edx, dword [ebx + 0x2bc]
call fcn.0053c140
add eax, eax
mov edx, dword [ebp + 0x48]
sub edx, eax
mov dword [esp + 0x14], edx
test esi, esi
je 0x53d132
inc esi
jmp 0x53d132
mov eax, dword [ebx + 0x28c]
mov esi, dword [eax + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x14], eax
mov ebp, dword [ebx + 0x28c]
cmp dword [ebp + 0x30], 0
jne 0x53cfc1
cmp byte [ebp + 0x22f], 1
je 0x53cfc1
mov edi, dword [ebp + 0x44]
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x10], eax
jmp 0x53cfdf
lea eax, [esp + 0x18]
push eax
mov eax, ebp
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindowRect
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0053d724
mov ebp, eax
mov dword [esp + 8], ebp
mov eax, dword [ebx + 0x28c]
call fcn.0044d9ac
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x28c]
call fcn.0044d9ac
lea edx, [esp + 8]
call fcn.0053cd54
mov eax, dword [ebx + 0x28c]
call fcn.0044d9ac
lea edx, [esp + 0x18]
call fcn.00515924
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [esp + 4], eax
push 4
mov eax, dword [esp + 8]
push eax
push ebp
push ebp
call sub.gdi32.dll_CombineRgn
mov eax, dword [esp + 4]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebx + 0x28c]
cmp dword [eax + 0x30], 0
jne 0x53d07b
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x22f], 1
jne 0x53d11e
mov eax, dword [ebx + 0x28c]
call fcn.0044d9ac
push eax
call sub.user32.dll_GetDC
mov dword [esp], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 4]
push eax
call sub.gdi32.dll_GetClipBox
dec eax
jne 0x53d0c6
lea eax, [ebx + 0x290]
call fcn.0040f078
mov eax, dword [esp]
push eax
mov eax, dword [ebx + 0x28c]
call fcn.0044d9ac
push eax
call sub.user32.dll_ReleaseDC
jmp 0x53d21e
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp edx, eax
jle 0x53d109
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
jge 0x53d109
mov ecx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [esp + 0x24]
push edx
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [esp + 4], eax
push 1
mov eax, dword [esp + 8]
push eax
push ebp
push ebp
call sub.gdi32.dll_CombineRgn
mov eax, dword [esp + 4]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [esp]
push eax
mov eax, dword [ebx + 0x28c]
call fcn.0044d9ac
push eax
call sub.user32.dll_ReleaseDC
push 0
push ebp
mov eax, dword [ebx + 0x290]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [esp + 0x14]
push eax
push esi
mov ecx, edi
mov edx, dword [esp + 0x18]
mov eax, dword [ebx + 0x290]
mov ebp, dword [eax]
call dword [ebp + 0x84]
mov ebp, dword [ebx + 0x28c]
cmp byte [ebp + 0x22f], 1
jne 0x53d18d
push 0x658
mov eax, ebx
call fcn.00547134
push eax
mov eax, dword [ebx + 0x28c]
mov eax, dword [eax + 0x48]
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
push 0
mov eax, dword [ebx + 0x290]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowPos
jmp 0x53d1ea
push 0xffffffffffffffec
mov eax, ebp
call fcn.0044d9ac
push eax
call sub.user32.dll_GetWindowLongA
test al, 8
je 0x53d1c6
push 0x658
push esi
mov eax, dword [esp + 0x1c]
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
push 0xffffffffffffffff
mov eax, dword [ebx + 0x290]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowPos
jmp 0x53d1ea
push 0x658
push esi
mov eax, dword [esp + 0x1c]
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
push 0
mov eax, dword [ebx + 0x290]
call fcn.0044d9ac
push eax
call sub.user32.dll_SetWindowPos
push 4
mov eax, dword [ebx + 0x290]
call fcn.0044d9ac
push eax
call sub.user32.dll_ShowWindow
push 0x105
push 0
push 0
mov eax, dword [ebx + 0x290]
call fcn.0044d9ac
push eax
call sub.user32.dll_RedrawWindow
push 0x28
call sub.kernel32.dll_Sleep_1
add esp, 0x38
pop ebp
pop edi
pop esi
pop ebx
ret