Function at 0x948da0
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 0x949400
test edi, edi
je 0x949400
mov eax, edi
call fcn.008c0d9c
test al, al
je 0x949400
mov eax, esi
call fcn.008c0d9c
test al, al
je 0x949400
mov eax, ebx
call fcn.00948d70
test al, al
je 0x948e62
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x948e11
push 0
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x948e31
push 0
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x98]
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x949400
push 0
mov eax, dword [ebx + 0x98]
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
jmp 0x949400
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.009497b4
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.00949de8
call fcn.00939950
dec eax
test eax, eax
jl 0x948fa0
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00949de8
mov edx, ebp
call fcn.0093999c
cmp byte [eax + 0x69], 0
je 0x948f95
mov eax, ebx
call fcn.00949de8
mov edx, ebp
call fcn.0093999c
call fcn.008c09c4
cmp eax, dword [ebx + 0x40]
je 0x948f95
mov eax, ebx
call fcn.00949de8
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.0093999c
call fcn.008c09c4
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.00413dfc
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x948f3f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x948f4d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00413640
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x948f71
lea eax, [esp + 0x34]
call fcn.00413640
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00413650
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x948f95
lea eax, [esp + 0x34]
call fcn.00413650
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x948eae
cmp dword [esp + 4], 0
jl 0x948fba
lea eax, [esp + 0x24]
call fcn.00413640
cmp eax, dword [esp + 0xc]
jl 0x948fba
xor eax, eax
jmp 0x948fbc
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x948fda
lea eax, [esp + 0x24]
call fcn.00413650
cmp eax, dword [esp + 0x10]
jl 0x948fda
xor eax, eax
jmp 0x948fdc
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x949011
cmp byte [esp + 0x19], 0
jne 0x949011
cmp dword [esp + 4], 0
jl 0x94900b
lea eax, [esp + 0x24]
call fcn.00413640
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x94900b
xor eax, eax
jmp 0x94900d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x949042
cmp byte [esp + 0x1a], 0
jne 0x949042
cmp dword [esp + 8], 0
jl 0x94903c
lea eax, [esp + 0x24]
call fcn.00413650
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x94903c
xor eax, eax
jmp 0x94903e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x94909c
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x94909c
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00413640
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.008c09c4
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x9490c8
cmp byte [esp + 0x19], 0
jne 0x9490c8
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x9490c8
push 0
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x94915c
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x94915c
cmp byte [esp + 0x19], 0
je 0x94911b
push 0x40
lea eax, [esp + 0x28]
call fcn.00413650
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.008c09c4
push eax
call sub.user32.dll_SetWindowPos
jmp 0x949146
push 0x40
lea eax, [esp + 0x28]
call fcn.00413650
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.008c09c4
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x949188
cmp byte [esp + 0x1a], 0
jne 0x949188
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x949188
push 0
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00413640
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00413650
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00949594
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x949254
cmp dword [esp + 4], 0
jle 0x9491c9
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00413640
cmp eax, dword [esp + 0xc]
jle 0x9491e5
lea eax, [esp + 0x24]
call fcn.00413640
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x949246
mov byte [ebx + 0x9c], 1
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x949211
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.008d2f28
jmp 0x94921a
mov edx, ebp
mov eax, esi
call fcn.008d2f28
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.008d2d50
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.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x949305
cmp dword [esp + 8], 0
jle 0x949276
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00413650
cmp eax, dword [esp + 0x10]
jle 0x949292
lea eax, [esp + 0x24]
call fcn.00413650
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x9492f7
mov byte [ebx + 0x9d], 1
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x9492c0
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.008d2f28
jmp 0x9492cb
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.008d2f28
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.008d2d50
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.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x94932c
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x94932c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x9493a4
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x9493a4
mov eax, dword [ebx + 0x98]
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x9493a4
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.008c09c4
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x98]
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
jmp 0x9493ee
mov eax, esi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x9493db
mov eax, edi
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x9493ee
mov eax, dword [ebx + 0x98]
call fcn.008c09c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x9493ee
push 0
mov eax, dword [ebx + 0x98]
call fcn.008c09c4
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x949400
movzx edx, byte [esp]
mov eax, ebx
call fcn.00948da0
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret