Function at 0x5b2d94
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 + 0x90]
mov edi, dword [ebx + 0xa0]
test esi, esi
je 0x5b33f4
test edi, edi
je 0x5b33f4
mov eax, edi
call fcn.0051da64
test al, al
je 0x5b33f4
mov eax, esi
call fcn.0051da64
test al, al
je 0x5b33f4
mov eax, ebx
call fcn.005b2d64
test al, al
je 0x5b2e56
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b2e05
push 0
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b2e25
push 0
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b33f4
push 0
mov eax, dword [ebx + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
jmp 0x5b33f4
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005b37a8
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.005b3d34
call fcn.005a387c
dec eax
test eax, eax
jl 0x5b2f94
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005b3d34
mov edx, ebp
call fcn.005a38c8
cmp byte [eax + 0x69], 0
je 0x5b2f89
mov eax, ebx
call fcn.005b3d34
mov edx, ebp
call fcn.005a38c8
call fcn.0051d690
cmp eax, dword [ebx + 0x40]
je 0x5b2f89
mov eax, ebx
call fcn.005b3d34
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005a38c8
call fcn.0051d690
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3d0]
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.00410b04
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5b2f33
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5b2f41
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00410828
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5b2f65
lea eax, [esp + 0x34]
call fcn.00410828
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00410838
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5b2f89
lea eax, [esp + 0x34]
call fcn.00410838
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5b2ea2
cmp dword [esp + 4], 0
jl 0x5b2fae
lea eax, [esp + 0x24]
call fcn.00410828
cmp eax, dword [esp + 0xc]
jl 0x5b2fae
xor eax, eax
jmp 0x5b2fb0
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5b2fce
lea eax, [esp + 0x24]
call fcn.00410838
cmp eax, dword [esp + 0x10]
jl 0x5b2fce
xor eax, eax
jmp 0x5b2fd0
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5b3005
cmp byte [esp + 0x19], 0
jne 0x5b3005
cmp dword [esp + 4], 0
jl 0x5b2fff
lea eax, [esp + 0x24]
call fcn.00410828
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5b2fff
xor eax, eax
jmp 0x5b3001
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5b3036
cmp byte [esp + 0x1a], 0
jne 0x5b3036
cmp dword [esp + 8], 0
jl 0x5b3030
lea eax, [esp + 0x24]
call fcn.00410838
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5b3030
xor eax, eax
jmp 0x5b3032
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5b3090
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3090
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00410828
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.0051d690
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5b30bc
cmp byte [esp + 0x19], 0
jne 0x5b30bc
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b30bc
push 0
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5b3150
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3150
cmp byte [esp + 0x19], 0
je 0x5b310f
push 0x40
lea eax, [esp + 0x28]
call fcn.00410838
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.0051d690
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5b313a
push 0x40
lea eax, [esp + 0x28]
call fcn.00410838
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.0051d690
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5b317c
cmp byte [esp + 0x1a], 0
jne 0x5b317c
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b317c
push 0
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00410828
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00410838
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005b3588
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3248
cmp dword [esp + 4], 0
jle 0x5b31bd
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00410828
cmp eax, dword [esp + 0xc]
jle 0x5b31d9
lea eax, [esp + 0x24]
call fcn.00410828
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5b323a
mov byte [ebx + 0x9c], 1
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3205
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.005309a0
jmp 0x5b320e
mov edx, ebp
mov eax, esi
call fcn.005309a0
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.005307cc
mov eax, dword [esi + 0x2ac]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x9c], 0
movzx eax, word [esi + 0x2b8]
mov word [esi + 0x2c2], ax
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b32f9
cmp dword [esp + 8], 0
jle 0x5b326a
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00410838
cmp eax, dword [esp + 0x10]
jle 0x5b3286
lea eax, [esp + 0x24]
call fcn.00410838
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5b32eb
mov byte [ebx + 0x9d], 1
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b32b4
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.005309a0
jmp 0x5b32bf
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.005309a0
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.005307cc
mov eax, dword [edi + 0x2ac]
mov dword [ebx + 0xc0], eax
mov byte [ebx + 0x9d], 0
movzx eax, word [edi + 0x2b8]
mov word [edi + 0x2c2], ax
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3320
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3320
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3398
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b3398
mov eax, dword [ebx + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b3398
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 + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
jmp 0x5b33e2
mov eax, esi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b33cf
mov eax, edi
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5b33e2
mov eax, dword [ebx + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5b33e2
push 0
mov eax, dword [ebx + 0x98]
call fcn.0051d690
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5b33f4
movzx edx, byte [esp]
mov eax, ebx
call fcn.005b2d94
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret