Function at 0x5b3b80
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 0x5b41b8
test edi, edi
je 0x5b41b8
mov eax, edi
call fcn.0051d930
test al, al
je 0x5b41b8
mov eax, esi
call fcn.0051d930
test al, al
je 0x5b41b8
mov eax, ebx
call fcn.005b3b50
test al, al
je 0x5b3c1a
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3bf1
push 0
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b41b8
push 0
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5b41b8
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005b4540
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.005b4898
call fcn.005a5f7c
dec eax
test eax, eax
jl 0x5b3d58
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005b4898
mov edx, ebp
call fcn.005a5fc8
cmp byte [eax + 0x61], 0
je 0x5b3d4d
mov eax, ebx
call fcn.005b4898
mov edx, ebp
call fcn.005a5fc8
call fcn.0051d57c
cmp eax, dword [ebx + 0x3c]
je 0x5b3d4d
mov eax, ebx
call fcn.005b4898
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005a5fc8
call fcn.0051d57c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x394]
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.0040f8f4
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5b3cf7
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5b3d05
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040f200
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5b3d29
lea eax, [esp + 0x34]
call fcn.0040f200
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040f208
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5b3d4d
lea eax, [esp + 0x34]
call fcn.0040f208
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5b3c66
cmp dword [esp + 4], 0
jl 0x5b3d72
lea eax, [esp + 0x24]
call fcn.0040f200
cmp eax, dword [esp + 0xc]
jl 0x5b3d72
xor eax, eax
jmp 0x5b3d74
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5b3d92
lea eax, [esp + 0x24]
call fcn.0040f208
cmp eax, dword [esp + 0x10]
jl 0x5b3d92
xor eax, eax
jmp 0x5b3d94
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5b3dc9
cmp byte [esp + 0x19], 0
jne 0x5b3dc9
cmp dword [esp + 4], 0
jl 0x5b3dc3
lea eax, [esp + 0x24]
call fcn.0040f200
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x5b3dc3
xor eax, eax
jmp 0x5b3dc5
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5b3dfa
cmp byte [esp + 0x1a], 0
jne 0x5b3dfa
cmp dword [esp + 8], 0
jl 0x5b3df4
lea eax, [esp + 0x24]
call fcn.0040f208
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x5b3df4
xor eax, eax
jmp 0x5b3df6
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5b3e54
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3e54
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0040f200
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5b3e80
cmp byte [esp + 0x19], 0
jne 0x5b3e80
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3e80
push 0
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5b3f14
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3f14
cmp byte [esp + 0x19], 0
je 0x5b3ed3
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f208
sub eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
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.0051d57c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5b3efe
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f208
push eax
mov ebp, dword [edi + 0x50]
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.0051d57c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5b3f40
cmp byte [esp + 0x1a], 0
jne 0x5b3f40
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3f40
push 0
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040f200
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040f208
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005b4320
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b400c
cmp dword [esp + 4], 0
jle 0x5b3f81
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040f200
cmp eax, dword [esp + 0xc]
jle 0x5b3f9d
lea eax, [esp + 0x24]
call fcn.0040f200
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5b3ffe
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3fc9
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.0053245c
jmp 0x5b3fd2
mov edx, ebp
mov eax, esi
call fcn.0053245c
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.00532288
mov eax, dword [esi + 0x28c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x298]
mov word [esi + 0x2a2], ax
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b40bd
cmp dword [esp + 8], 0
jle 0x5b402e
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040f208
cmp eax, dword [esp + 0x10]
jle 0x5b404a
lea eax, [esp + 0x24]
call fcn.0040f208
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5b40af
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b4078
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.0053245c
jmp 0x5b4083
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0053245c
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.00532288
mov eax, dword [edi + 0x28c]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x298]
mov word [edi + 0x2a2], ax
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b40e4
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b40e4
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b415c
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b415c
mov eax, dword [ebx + 0x94]
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b415c
push 0x40
mov eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x94]
call fcn.0051d57c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5b41a6
mov eax, esi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b4193
mov eax, edi
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b41a6
mov eax, dword [ebx + 0x94]
call fcn.0051d57c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b41a6
push 0
mov eax, dword [ebx + 0x94]
call fcn.0051d57c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5b41b8
movzx edx, byte [esp]
mov eax, ebx
call fcn.005b3b80
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret