Function at 0x623144
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 0x6237a4
test edi, edi
je 0x6237a4
mov eax, edi
call fcn.00538e48
test al, al
je 0x6237a4
mov eax, esi
call fcn.00538e48
test al, al
je 0x6237a4
mov eax, ebx
call fcn.00623114
test al, al
je 0x623206
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6231b5
push 0
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6231d5
push 0
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6237a4
push 0
mov eax, dword [ebx + 0x94]
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
jmp 0x6237a4
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00623b2c
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.00623e84
call fcn.00612998
dec eax
test eax, eax
jl 0x623344
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00623e84
mov edx, ebp
call fcn.006129e4
cmp byte [eax + 0x69], 0
je 0x623339
mov eax, ebx
call fcn.00623e84
mov edx, ebp
call fcn.006129e4
call fcn.00538a74
cmp eax, dword [ebx + 0x3c]
je 0x623339
mov eax, ebx
call fcn.00623e84
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.006129e4
call fcn.00538a74
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3bc]
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.0041350c
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x6232e3
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x6232f1
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412d64
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x623315
lea eax, [esp + 0x34]
call fcn.00412d64
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00412d6c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x623339
lea eax, [esp + 0x34]
call fcn.00412d6c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x623252
cmp dword [esp + 4], 0
jl 0x62335e
lea eax, [esp + 0x24]
call fcn.00412d64
cmp eax, dword [esp + 0xc]
jl 0x62335e
xor eax, eax
jmp 0x623360
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x62337e
lea eax, [esp + 0x24]
call fcn.00412d6c
cmp eax, dword [esp + 0x10]
jl 0x62337e
xor eax, eax
jmp 0x623380
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x6233b5
cmp byte [esp + 0x19], 0
jne 0x6233b5
cmp dword [esp + 4], 0
jl 0x6233af
lea eax, [esp + 0x24]
call fcn.00412d64
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x6233af
xor eax, eax
jmp 0x6233b1
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x6233e6
cmp byte [esp + 0x1a], 0
jne 0x6233e6
cmp dword [esp + 8], 0
jl 0x6233e0
lea eax, [esp + 0x24]
call fcn.00412d6c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x6233e0
xor eax, eax
jmp 0x6233e2
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x623440
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x623440
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412d64
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.00538a74
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x62346c
cmp byte [esp + 0x19], 0
jne 0x62346c
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x62346c
push 0
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x623500
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x623500
cmp byte [esp + 0x19], 0
je 0x6234bf
push 0x40
lea eax, [esp + 0x28]
call fcn.00412d6c
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.00538a74
push eax
call sub.user32.dll_SetWindowPos
jmp 0x6234ea
push 0x40
lea eax, [esp + 0x28]
call fcn.00412d6c
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.00538a74
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x62352c
cmp byte [esp + 0x1a], 0
jne 0x62352c
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x62352c
push 0
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412d64
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00412d6c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.0062390c
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6235f8
cmp dword [esp + 4], 0
jle 0x62356d
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412d64
cmp eax, dword [esp + 0xc]
jle 0x623589
lea eax, [esp + 0x24]
call fcn.00412d64
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x6235ea
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6235b5
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00555c80
jmp 0x6235be
mov edx, ebp
mov eax, esi
call fcn.00555c80
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.00555aac
mov eax, dword [esi + 0x29c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2a8]
mov word [esi + 0x2b2], ax
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6236a9
cmp dword [esp + 8], 0
jle 0x62361a
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00412d6c
cmp eax, dword [esp + 0x10]
jle 0x623636
lea eax, [esp + 0x24]
call fcn.00412d6c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x62369b
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x623664
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00555c80
jmp 0x62366f
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00555c80
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.00555aac
mov eax, dword [edi + 0x29c]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2a8]
mov word [edi + 0x2b2], ax
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6236d0
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6236d0
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x623748
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x623748
mov eax, dword [ebx + 0x94]
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x623748
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.00538a74
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
jmp 0x623792
mov eax, esi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x62377f
mov eax, edi
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x623792
mov eax, dword [ebx + 0x94]
call fcn.00538a74
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x623792
push 0
mov eax, dword [ebx + 0x94]
call fcn.00538a74
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x6237a4
movzx edx, byte [esp]
mov eax, ebx
call fcn.00623144
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret