Function at 0x5b1120
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffac
mov byte [esp], dl
mov ebx, eax
mov esi, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x9c]
test esi, esi
je 0x5b1758
test edi, edi
je 0x5b1758
mov eax, edi
call fcn.00526848
test al, al
je 0x5b1758
mov eax, esi
call fcn.00526848
test al, al
je 0x5b1758
mov eax, ebx
call fcn.005b10f0
test al, al
je 0x5b11ba
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1191
push 0
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1758
push 0
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
jmp 0x5b1758
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005b1ae0
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], 0x7fffffff
mov dword [esp + 0xc], 0x80000001
mov dword [esp + 0x10], 0x80000001
mov eax, ebx
call fcn.005b1e38
call fcn.005a2fb4
dec eax
test eax, eax
jl 0x5b12f8
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005b1e38
mov edx, ebp
call fcn.005a3000
cmp byte [eax + 0x69], 0
je 0x5b12ed
mov eax, ebx
call fcn.005b1e38
mov edx, ebp
call fcn.005a3000
call fcn.00526470
cmp eax, dword [ebx + 0x3c]
je 0x5b12ed
mov eax, ebx
call fcn.005b1e38
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005a3000
call fcn.00526470
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x39c]
push eax
call sub.user32.dll_GetWindowRect
mov ecx, dword [esp + 0x48]
neg ecx
mov edx, dword [esp + 0x44]
neg edx
lea eax, [esp + 0x34]
call fcn.0040fb60
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5b1297
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5b12a5
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040f46c
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5b12c9
lea eax, [esp + 0x34]
call fcn.0040f46c
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040f474
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5b12ed
lea eax, [esp + 0x34]
call fcn.0040f474
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5b1206
cmp dword [esp + 4], 0
jl 0x5b1312
lea eax, [esp + 0x24]
call fcn.0040f46c
cmp eax, dword [esp + 0xc]
jl 0x5b1312
xor eax, eax
jmp 0x5b1314
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5b1332
lea eax, [esp + 0x24]
call fcn.0040f474
cmp eax, dword [esp + 0x10]
jl 0x5b1332
xor eax, eax
jmp 0x5b1334
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5b1369
cmp byte [esp + 0x19], 0
jne 0x5b1369
cmp dword [esp + 4], 0
jl 0x5b1363
lea eax, [esp + 0x24]
call fcn.0040f46c
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5b1363
xor eax, eax
jmp 0x5b1365
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5b139a
cmp byte [esp + 0x1a], 0
jne 0x5b139a
cmp dword [esp + 8], 0
jl 0x5b1394
lea eax, [esp + 0x24]
call fcn.0040f474
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5b1394
xor eax, eax
jmp 0x5b1396
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5b13f4
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b13f4
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.0040f46c
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5b1420
cmp byte [esp + 0x19], 0
jne 0x5b1420
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1420
push 0
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5b14b4
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b14b4
cmp byte [esp + 0x19], 0
je 0x5b1473
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f474
sub eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5b149e
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f474
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5b14e0
cmp byte [esp + 0x1a], 0
jne 0x5b14e0
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b14e0
push 0
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040f46c
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040f474
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005b18c0
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b15ac
cmp dword [esp + 4], 0
jle 0x5b1521
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040f46c
cmp eax, dword [esp + 0xc]
jle 0x5b153d
lea eax, [esp + 0x24]
call fcn.0040f46c
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5b159e
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1569
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0053712c
jmp 0x5b1572
mov edx, ebp
mov eax, esi
call fcn.0053712c
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 4]
dec eax
push eax
mov edx, dword [esp + 8]
neg edx
xor ecx, ecx
mov eax, esi
call fcn.00536f58
mov eax, dword [esi + 0x294]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2a0]
mov word [esi + 0x2aa], ax
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b165d
cmp dword [esp + 8], 0
jle 0x5b15ce
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040f474
cmp eax, dword [esp + 0x10]
jle 0x5b15ea
lea eax, [esp + 0x24]
call fcn.0040f474
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5b164f
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1618
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0053712c
jmp 0x5b1623
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0053712c
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 8]
dec eax
push eax
mov edx, dword [esp + 0xc]
neg edx
xor ecx, ecx
mov eax, edi
call fcn.00536f58
mov eax, dword [edi + 0x294]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2a0]
mov word [edi + 0x2aa], ax
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b1684
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b1684
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b16fc
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b16fc
mov eax, dword [ebx + 0x94]
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b16fc
push 0x40
mov eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x94]
call fcn.00526470
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
jmp 0x5b1746
mov eax, esi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1733
mov eax, edi
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b1746
mov eax, dword [ebx + 0x94]
call fcn.00526470
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b1746
push 0
mov eax, dword [ebx + 0x94]
call fcn.00526470
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5b1758
movzx edx, byte [esp]
mov eax, ebx
call fcn.005b1120
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret