Function at 0x788ddc
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc8]
cmp al, byte [ebp - 5]
je 0x7893c0
cmp byte [ebp - 5], 0
je 0x788ff7
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x788e82
mov eax, ebx
mov edx, dword [0x5350f0]
call fcn.004076a4
test al, al
je 0x788e6a
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x7826e0]
call fcn.00788168
mov edx, dword [ebp - 4]
mov dword [edx + 0xf4], eax
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00789834
mov eax, dword [ebp - 4]
call fcn.0078caec
mov eax, dword [ebp - 4]
call fcn.00788c18
test eax, eax
je 0x788e98
mov eax, dword [ebp - 4]
call fcn.00788c18
xor edx, edx
call fcn.00541bd4
jmp 0x788e98
mov ecx, 0x7893d4
mov dl, 1
mov eax, dword [0x787184]
call fcn.0042a960
call fcn.0040883c
jmp 0x788e98
mov ecx, 0x789450
mov dl, 1
mov eax, dword [0x787184]
call fcn.0042a960
call fcn.0040883c
cmp dword [0xa46d8c], 0
je 0x788ebe
mov edx, dword [ebp - 4]
mov eax, dword [0xa46d8c]
call fcn.0044efb4
inc eax
jne 0x788ebe
mov edx, dword [ebp - 4]
mov eax, dword [0xa46d8c]
call fcn.0044ed80
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc9], 0
jne 0x788f1a
mov eax, dword [0xa46d8c]
cmp dword [eax + 8], 1
jne 0x788f41
cmp word [0xa0258a], 0
jne 0x788efe
mov eax, dword [0xa403fc]
mov eax, dword [eax]
mov edx, dword [eax + 0x110]
mov dword [0xa02588], edx
mov edx, dword [eax + 0x114]
mov dword [0xa0258c], edx
mov eax, dword [0xa403fc]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov dword [eax + 0x114], edx
mov dword [eax + 0x110], 0x78cf54
jmp 0x788f41
cmp dword [0xa02598], 0
jne 0x788f41
call sub.KERNEL32.DLL_GetCurrentThreadId
push eax
mov eax, dword [0xa43c50]
push eax
mov eax, 0x787224
push eax
push 3
call sub.user32.dll_SetWindowsHookExW
mov dword [0xa02598], eax
cmp dword [0xa46d8c], 0
je 0x788f98
mov eax, dword [0xa46d8c]
cmp dword [eax + 8], 1
jne 0x788f98
cmp word [0xa02592], 0
jne 0x788f7e
mov eax, dword [0xa403fc]
mov eax, dword [eax]
mov edx, dword [eax + 0x138]
mov dword [0xa02590], edx
mov edx, dword [eax + 0x13c]
mov dword [0xa02594], edx
mov eax, dword [0xa403fc]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov dword [eax + 0x13c], edx
mov dword [eax + 0x138], 0x78cd90
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x788fca
mov eax, dword [ebp - 4]
call fcn.00788c18
mov esi, eax
mov eax, esi
call fcn.0053db70
mov eax, dword [esi + 0x74]
mov edx, dword [ebp - 4]
mov dword [edx + 0xc4], eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x9c]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x60]
mov eax, dword [ebp - 4]
call fcn.0078b1c4
mov eax, dword [ebp - 4]
test byte [eax + 0x124], 1
je 0x78912d
mov eax, dword [ebp - 4]
call fcn.0078bfd0
jmp 0x78912d
mov eax, dword [ebp - 4]
call fcn.0078cbf0
mov eax, dword [0xa46d8c]
mov edx, dword [ebp - 4]
xor ecx, ecx
call fcn.0044f168
mov eax, dword [0xa403fc]
mov eax, dword [eax]
mov edx, dword [0xa02590]
mov dword [eax + 0x138], edx
mov edx, dword [0xa02594]
mov dword [eax + 0x13c], edx
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc9], 0
jne 0x789065
mov eax, dword [0xa46d8c]
cmp dword [eax + 8], 0
jne 0x78908b
mov eax, dword [0xa403fc]
mov eax, dword [eax]
mov edx, dword [0xa02588]
mov dword [eax + 0x110], edx
mov edx, dword [0xa0258c]
mov dword [eax + 0x114], edx
jmp 0x78908b
cmp dword [0xa46d8c], 0
je 0x789079
mov eax, dword [0xa46d8c]
cmp dword [eax + 8], 0
jne 0x78908b
mov eax, dword [0xa02598]
push eax
call sub.user32.dll_UnhookWindowsHookEx
xor eax, eax
mov dword [0xa02598], eax
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 8
jne 0x7890f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00544030
mov eax, dword [ebp - 4]
call fcn.0078c7c8
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x7890c8
mov eax, dword [ebp - 4]
call fcn.00788c18
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc4]
call fcn.004a4bac
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00789834
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xf4]
test eax, eax
je 0x7890ef
call fcn.00407470
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xf4], edx
mov eax, dword [ebp - 4]
call fcn.0078b2c4
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x78912d
mov eax, dword [ebp - 4]
call fcn.00788c18
mov esi, eax
mov eax, esi
call fcn.0053db78
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc4]
mov eax, esi
call fcn.004a4bac
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x9c]
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 5]
mov byte [eax + 0xc8], dl
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x789282
mov eax, dword [ebp - 4]
call fcn.00788c18
mov ebx, eax
mov eax, ebx
call fcn.0045e40c
mov edi, eax
dec edi
test edi, edi
jl 0x789282
inc edi
xor esi, esi
mov edx, esi
mov eax, ebx
call fcn.0045e3e0
mov edx, dword [0x49a1c8]
call fcn.004076a4
test al, al
je 0x78927a
mov edx, esi
mov eax, ebx
call fcn.0045e3e0
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
add al, 0xfc
sub al, 3
jb 0x7891cc
mov edx, esi
mov eax, ebx
call fcn.0045e3e0
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.007889ac
test al, al
jne 0x7891cc
mov edx, esi
mov eax, ebx
call fcn.0045e3e0
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0xc8]
call fcn.00788da4
mov edx, esi
mov eax, ebx
call fcn.0045e3e0
mov edx, dword [0x49c57c]
call fcn.004076a4
test al, al
je 0x789271
mov eax, ebx
call fcn.004adb74
test al, al
jne 0x7891fa
mov eax, ebx
call fcn.004ad79c
mov edx, esi
mov eax, ebx
call fcn.0045e3e0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc8], 0
je 0x78923d
mov eax, dword [ebp - 0xc]
test byte [eax + 0x1c], 0x10
je 0x78922b
push 5
mov eax, dword [ebp - 0xc]
call fcn.004ad7c0
push eax
call sub.user32.dll_ShowWindow
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
call fcn.004ad7c0
push eax
call sub.user32.dll_EnableWindow
jmp 0x789271
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x61], 0
jne 0x789256
push 0
mov eax, dword [ebp - 0xc]
call fcn.004ad7c0
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x68]
neg al
sbb eax, eax
push eax
mov eax, dword [ebp - 0xc]
call fcn.004ad7c0
push eax
call sub.user32.dll_EnableWindow
mov eax, ebx
xor edx, edx
call fcn.004a8cdc
inc esi
dec edi
jne 0x789168
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc8], 0
je 0x7892f8
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x7892b8
mov eax, dword [ebp - 4]
call fcn.00788c18
call fcn.004ad7c0
mov edx, 0xfffffffc
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
push eax
push 0x78b460
call fcn.0045f89c
mov edx, dword [ebp - 4]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 4]
call fcn.00788c18
call fcn.004ad7c0
mov edx, 0xfffffffc
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x3c]
push ecx
push edx
push eax
call sub.user32.dll_SetWindowLongW
mov eax, dword [ebp - 4]
mov byte [eax + 0x168], 0
jmp 0x78934b
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x78932c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 0
je 0x78932c
mov eax, dword [ebp - 4]
call fcn.00788c18
call fcn.004ad7c0
mov edx, 0xfffffffc
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x38]
push ecx
push edx
push eax
call sub.user32.dll_SetWindowLongW
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x78933b
call fcn.0045f934
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x3c], edx
mov eax, dword [0xa40a94]
mov eax, dword [eax]
xor edx, edx
call fcn.00545d2c
push ebp
call fcn.00788dac
pop ecx
test al, al
je 0x789374
mov eax, dword [ebp - 4]
call fcn.00788c18
mov edx, dword [eax]
call dword [edx + 0x9c]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret