Function at 0x650aa8
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x650ab0
push ebx
push esi
push edi
mov esi, dword [0x662788]
xor eax, eax
push ebp
push 0x650e6b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x20]
mov eax, 1
call fcn.005b0518
mov eax, dword [ebp - 0x20]
mov edx, 0x650e88
call fcn.0041f9b4
test eax, eax
jne 0x650af2
mov byte [ebp - 0x11], 1
jmp 0x650b18
lea edx, [ebp - 0x24]
mov eax, 1
call fcn.005b0518
mov eax, dword [ebp - 0x24]
mov edx, 0x650ea0
call fcn.0041f9b4
test eax, eax
jne 0x650e43
mov byte [ebp - 0x11], 0
mov eax, dword [esi]
mov edx, 0x650eb8
call fcn.005a2a3c
push 5
mov eax, dword [esi]
mov eax, dword [eax + 0x188]
push eax
call sub.user32.dll_ShowWindow
call fcn.00647310
push 0x650ec4
push 0
push 0
call fcn.00411cc8
mov dword [ebp - 0x18], eax
push 0
mov eax, dword [esi]
mov eax, dword [eax + 0x188]
push eax
call sub.user32.dll_ShowWindow
cmp dword [ebp - 0x18], 0
je 0x650b80
mov eax, dword [esi]
call fcn.005a2ef0
push 0x4ff
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x18]
push eax
push 1
call sub.user32.dll_MsgWaitForMultipleObjects
cmp eax, 1
je 0x650b60
push 5
mov eax, dword [esi]
mov eax, dword [eax + 0x188]
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
push ebp
push 0x650e3c
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x28]
xor eax, eax
call fcn.005b0518
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 4]
mov edx, 0x650f00
call fcn.005af5d8
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.005b0518
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 8]
mov edx, 0x650f18
call fcn.005af5d8
mov eax, dword [ebp - 8]
call fcn.005afdc4
test al, al
je 0x650ddf
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005b81c4
mov eax, dword [0x6626a4]
test byte [eax + 0x4c], 1
setne al
call fcn.005b25ac
mov edx, dword [0x66279c]
mov edx, dword [edx + 0x2b4]
mov eax, dword [esi]
call fcn.005a2a3c
xor eax, eax
push ebp
push 0x650dd8
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0064449c
push 2
push 0
push 1
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x5b64ac]
call fcn.005b6ac8
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x650dbe
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x650d98
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call fcn.005b6d78
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x650c67
sub ebx, 4
mov ebx, dword [ebx]
cmp ebx, 4
jle 0x650d98
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x5b
jne 0x650d98
mov eax, dword [ebp - 0xc]
cmp word [eax + 6], 0x5d
jne 0x650d98
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x7fffffff
mov edx, 5
mov eax, dword [ebp - 0xc]
call fcn.00409be8
mov eax, dword [ebp - 0xc]
cmp word [eax + 4], 0x71
je 0x650cbf
cmp byte [ebp - 0x11], 0
je 0x650cbb
mov eax, dword [0x6625a8]
cmp byte [eax], 0
je 0x650cbf
xor eax, eax
jmp 0x650cc1
mov al, 1
mov byte [ebp - 0x12], al
xor eax, eax
push ebp
push 0x650d35
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 2]
sub ax, 0x53
je 0x650d04
dec ax
je 0x650d21
sub ax, 0x1f
je 0x650cf1
dec ax
je 0x650d17
jmp 0x650d2b
movzx eax, byte [ebp - 0x12]
push eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
xor eax, eax
call fcn.00619e90
jmp 0x650d2b
movzx eax, byte [ebp - 0x12]
push eax
mov ecx, dword [ebp - 0x10]
mov dl, 1
xor eax, eax
call fcn.00619e90
jmp 0x650d2b
mov eax, dword [ebp - 0x10]
call fcn.00619624
jmp 0x650d2b
mov edx, dword [ebp - 0x10]
xor eax, eax
call fcn.0061a608
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x650d98
mov eax, dword [ebp - 0x1c]
call fcn.005b6d68
test al, al
je 0x650c50
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x650dc5
mov eax, dword [ebp - 0x1c]
call fcn.004069c8
ret
mov eax, dword [ebp - 8]
call fcn.00420f94
mov eax, dword [ebp - 4]
call fcn.00420f94
xor eax, eax
push ebp
push 0x650e0c
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00650a08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x650e16
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x650e43
cmp dword [ebp - 0x18], 0
je 0x650e3b
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_ReleaseMutex
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_CloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x650e72
lea eax, [ebp - 0x38]
mov edx, 7
call fcn.00408778
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00408778
ret