Function at 0x4c7770
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x98]
cmp eax, method.CXFloatWnd.virtual_152
jne 0x4c7900
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov eax, dword [0x5dd298]
add eax, 0x10
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x5dd0fc]
xor ecx, ecx
mov edx, dword [ebx + 8]
test edx, edx
jle 0x4c77c3
mov eax, dword [ebx]
cmp dword [eax], esi
je 0x4c77de
inc ecx
add eax, 4
cmp ecx, edx
jl 0x4c77b7
xor esi, esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
jne 0x4c7804
pop edi
pop esi
mov eax, 0x80004005
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0xffffffff
je 0x4c77c3
test ecx, ecx
js 0x4c77f3
cmp ecx, edx
jge 0x4c77f3
mov eax, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
jmp 0x4c77c5
push 0
push 0
push 1
push 0xc000008c
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov edx, dword [esi + 8]
lea ebx, [edi + 0x128]
xor ecx, ecx
test edx, edx
jle 0x4c78f7
mov eax, dword [esi + 4]
nop word [eax + eax]
cmp dword [eax], ebx
je 0x4c7835
inc ecx
add eax, 4
cmp ecx, edx
jl 0x4c7820
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0xffffffff
je 0x4c78f7
test ecx, ecx
js 0x4c78c1
cmp ecx, edx
jge 0x4c78c1
lea eax, [edx - 1]
cmp ecx, eax
je case.0x4c78b0.0
mov ebx, dword [esi + 4]
sub edx, ecx
shl edx, 2
lea ecx, [ebx + ecx*4]
lea eax, [edx - 4]
lea ebx, [ecx + 4]
test eax, eax
je 0x4c78a7
test ecx, ecx
jne 0x4c787d
call fcn.0051dcbc
mov dword [eax], 0x16
call fcn.0051db91
mov eax, 0x16
jmp 0x4c78a9
test ebx, ebx
je 0x4c7866
cmp edx, eax
jae 0x4c789c
call fcn.0051dcbc
mov dword [eax], 0x22
call fcn.0051db91
mov eax, 0x22
jmp 0x4c78a9
push eax
push ebx
push ecx
call fcn.005122a0
add esp, 0xc
xor eax, eax
movzx eax, byte [eax + 0x4c7938]
jmp dword [eax*4 + 0x4c7928]
dec dword [esi + 8]
mov eax, 1
jmp 0x4c78c3
xor eax, eax
test eax, eax
je 0x4c78f7
push 0
push dword [edi + 0x38]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 0x140]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4c78f7
push 0
push 0
push 0x793a
push dword [edi + 0x140]
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
call eax
jmp 0x4c778c
push 0x8007000e
call fcn.0040b4a2
push 0x80070057
call fcn.0040b4a2
push 0x80004005
call fcn.0040b4a2
nop dword [eax]
mov bh, 0x78
dec esp
add byte [edi], al
jns 0x4c797b
add byte [ecx], dl
jns 0x4c797f
add byte [ebx], bl
jns 0x4c7983
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3