Function at 0x522080
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe8
mov byte [esp + 4], dl
mov dword [esp], eax
mov esi, 0x5d849c
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x52249a
mov eax, dword [esp]
call fcn.0051f830
test al, al
je 0x5220bf
mov eax, dword [0x5d1748]
mov byte [eax], 0
xor ebx, ebx
mov eax, dword [esi]
call fcn.00406df8
dec eax
mov dword [esp + 8], eax
cmp ebx, dword [esp + 8]
jg 0x522173
mov eax, dword [esi]
mov ebp, dword [eax + ebx*4]
test ebp, ebp
je 0x522168
mov eax, ebp
mov edx, dword [0x46c4f0]
call fcn.004048c0
test al, al
je 0x522168
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x277], 1
je 0x522168
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0x30], 0
jne 0x522168
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x57], 0
je 0x522168
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
xor ecx, ecx
mov edx, 4
call fcn.004b0aa8
mov edi, eax
test edi, edi
je 0x522168
mov eax, dword [edi + 0x50]
call fcn.00511f64
cmp eax, dword [esp]
jne 0x522168
mov eax, dword [edi + 0x22c]
and eax, 0x10000
cmp eax, 0x10000
je 0x522152
inc ebx
jmp 0x522169
push 0
push 1
push 0xb
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
inc ebx
cmp ebx, dword [esp + 8]
jle 0x5220d7
xor ebx, ebx
jmp 0x52248a
mov eax, dword [esi]
mov ebp, dword [eax + ebx*4]
test ebp, ebp
je 0x522489
mov eax, ebp
mov edx, dword [0x46c4f0]
call fcn.004048c0
test al, al
je 0x522489
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x277], 1
je 0x522489
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0x30], 0
jne 0x522489
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x57], 0
je 0x522489
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
xor ecx, ecx
mov edx, 4
call fcn.004b0aa8
mov edi, eax
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x273], 1
je 0x522489
test edi, edi
je 0x522489
mov eax, dword [edi + 0x50]
call fcn.00511f64
cmp eax, dword [esp]
jne 0x522489
mov eax, dword [edi + 0x22c]
and eax, 0x10000
cmp eax, 0x10000
je 0x522222
inc ebx
jmp 0x52248a
cmp byte [esp + 4], 0
je 0x52243f
mov eax, dword [edi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x14]
cmp byte [eax + 6], 0
je 0x5222b7
mov eax, dword [edi + 0x24c]
cmp byte [eax + 0x328], 0
je 0x522263
mov eax, dword [edi + 0x24c]
movzx eax, byte [eax + 0x329]
mov byte [esp + 0x14], al
jmp 0x522268
mov byte [esp + 0x14], 0xff
cmp byte [edi + 0x78], 0
je 0x5222a4
mov eax, dword [edi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x14]
movzx eax, byte [eax + 7]
push eax
mov eax, dword [edi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x14]
movzx edx, word [eax + 4]
movzx ecx, byte [esp + 0x18]
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.004af698
jmp 0x5222b7
push 0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
mov ecx, 0xff
xor edx, edx
call fcn.004af698
and dword [edi + 0x22c], 0xffffefff
cmp dword [edi + 0x268], 0
je 0x522380
mov eax, dword [edi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x522380
mov eax, edi
call fcn.004d4660
cmp eax, dword [0x5ce5a0]
je 0x522380
mov eax, edi
call fcn.004d4660
mov dword [0x5ce5a0], eax
call sub.user32.dll_GetActiveWindow
mov dword [esp + 0x10], eax
push 0xfffffffffffffff0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowLongA
push 3
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_ShowWindow
push 0xfffffffffffffff0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowLongA
cmp dword [esp + 0x10], 0
je 0x522380
mov eax, dword [esp + 0x10]
push eax
call sub.user32.dll_SetActiveWindow
mov byte [edi + 0x220], 0
cmp byte [edi + 0x78], 0
je 0x522424
mov eax, dword [0x5d18c8]
cmp dword [eax], 6
jge 0x5223af
push 0
push 0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
mov eax, edi
call fcn.004bfbbc
mov dl, 1
mov eax, edi
call fcn.004bfd78
mov dword [esp + 0xc], 0x185
mov eax, dword [esp + 0xc]
push eax
push 0
push 0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
cmp dword [edi + 0x268], 0
je 0x52247f
push 0
mov eax, dword [edi + 0x268]
xor ecx, ecx
xor edx, edx
call fcn.004d9f70
push eax
mov eax, dword [edi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [edi + 0x268]
mov cl, 0xff
mov dl, 1
call fcn.004d8f20
jmp 0x52247f
push 0x585
push 0
push 0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp 0x52247f
and dword [edi + 0x22c], 0xffffefff
push 0
push 1
push 0xb
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
cmp byte [esp + 4], 0
je 0x52247f
push 0x5a1
push 0
push 0
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
and dword [edi + 0x22c], 0xfffeffff
inc ebx
mov eax, dword [esi]
call fcn.00406df8
dec eax
cmp ebx, eax
jle 0x52217a
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
ret