Function at 0x52c1c8
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push esi
push edi
push ebx
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + 0x260]
mov ebx, dword [ebx + 8]
dec ebx
or ebx, ebx
jl 0x52c226
inc ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0x260]
call fcn.0041bf98
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x21c]
add edx, dword [ebp - 8]
cmp edx, dword [ecx + 0x20c]
jge 0x52c21e
mov dword [eax + 4], edx
inc dword [ebp - 8]
dec dword [ebp - 0x10]
jne 0x52c1f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x260]
cmp dword [eax + 8], 0
je 0x52c53b
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x220]
or edx, edx
jl 0x52c2a2
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x21c]
test edx, edx
jl 0x52c2a2
inc edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x260]
mov edx, dword [ebp - 8]
call fcn.0041bf98
mov esi, eax
mov eax, esi
call fcn.00447ed4
push eax
call sub.user32.dll_IsWindowVisible
or eax, eax
jne 0x52c29a
mov eax, esi
mov dl, 1
call fcn.00441718
mov eax, esi
push 5
call fcn.00447ed4
push eax
call sub.user32.dll_ShowWindow
inc dword [ebp - 8]
dec dword [ebp - 0x10]
jne 0x52c25e
mov esi, dword [ebp - 4]
mov esi, dword [esi + 0x21c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x260]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x220]
sub ecx, esi
mov edx, dword [edx + 8]
dec edx
cmp ecx, edx
jge 0x52c363
inc esi
je 0x52c321
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
sub eax, dword [ecx + 0x21c]
inc eax
sub eax, edx
jg 0x52c363
dec eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0x260]
call fcn.0041bf98
mov edi, eax
xor edx, edx
mov eax, edi
call fcn.00441718
push 0
mov eax, edi
call fcn.00447ed4
push eax
call sub.user32.dll_ShowWindow
dec dword [ebp - 8]
inc dword [ebp - 0x10]
jne 0x52c2ec
jmp 0x52c363
or edx, edx
jl 0x52c363
inc edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x260]
mov edx, dword [ebp - 8]
call fcn.0041bf98
xor edx, edx
mov esi, eax
mov eax, esi
call fcn.00441718
mov eax, esi
push 0
call fcn.00447ed4
push eax
call sub.user32.dll_ShowWindow
inc dword [ebp - 8]
dec dword [ebp - 0x10]
jne 0x52c330
mov byte [ebp - 9], 0
mov edi, dword [ebp - 4]
cmp word [edi + 0x232], 0
je 0x52c3ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x21c]
test eax, eax
jl 0x52c3ab
lea ebx, [ebp - 9]
push eax
mov edi, dword [ebp - 4]
mov edi, dword [edi + 0x220]
push edi
push ebx
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x260]
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x234]
mov edx, dword [ebp - 4]
call dword [edi + 0x230]
cmp byte [ebp - 9], 0
jne 0x52c4d5
mov edi, dword [ebp - 4]
cmp word [edi + 0x29a], 0
je 0x52c4d5
mov eax, dword [ebp - 4]
cmp word [eax + 0x27a], 0
je 0x52c4d5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x260]
mov eax, dword [eax + 8]
dec eax
or eax, eax
jl 0x52c44a
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x260]
mov edx, dword [ebp - 8]
call fcn.0041bf98
mov esi, eax
xor edi, edi
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xc]
push ebp
push 0x52c438
push dword fs:[edi]
mov dword fs:[edi], esp
mov edx, dword [ebp - 4]
mov ecx, eax
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x29c]
call dword [ebx + 0x298]
pop edx
pop ecx
pop ecx
xor ebx, ebx
mov dword fs:[ebx], edx
jmp 0x52c442
inc dword [ebp - 8]
dec dword [ebp - 0x10]
jne 0x52c3f3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x21c]
test eax, eax
jl 0x52c4d5
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x220]
sub edx, eax
jl 0x52c4d5
inc edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x260]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
sub edx, dword [ebx + 0x21c]
call fcn.0041bf98
xor ecx, ecx
mov ebx, eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x14], 7
push ebp
push 0x52c4c3
push dword fs:[ecx]
mov dword fs:[ecx], esp
push eax
mov esi, dword [ebp - 8]
push esi
mov ebx, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 0x27c]
mov edx, dword [ebp - 4]
call dword [ebx + 0x278]
xor eax, eax
pop edx
pop esi
pop ecx
mov dword fs:[eax], edx
jmp 0x52c4cd
inc dword [ebp - 8]
dec dword [ebp - 0x10]
jne 0x52c46b
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x240]
or edi, edi
je 0x52c53b
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
jne 0x52c53b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x264], 0
je 0x52c53b
mov eax, edi
call fcn.0052b444
test al, al
jne 0x52c521
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edi, dword [edi + 0x240]
mov edx, dword [edi + 0x40]
add edx, dword [edi + 0x48]
mov edi, dword [ebp - 4]
sub edx, dword [edi + 0x40]
call fcn.00440fb4
jmp 0x52c53b
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov esi, dword [esi + 0x240]
mov edx, dword [esi + 0x40]
sub edx, dword [ebx + 0x40]
call fcn.00440fb4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret