Function at 0x46e540
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c00b8
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push esi
push edi
mov eax, dword [0x57e030]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [0x59499c]
mov esi, dword [edi]
push str.Try_allow_to_receive_the__u_windows_message
mov dword [esp + 0x14], eax
call fcn.004239b0
xor esi, esi
add esp, 4
cmp dword [0x594820], esi
jne 0x46e5b2
push 0x594820
mov dword [0x594820], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x46e5b2
mov dword [0x594820], esi
cmp dword [0x594824], 6
jb 0x46e753
lea ecx, [esp + 0x14]
push ecx
mov ecx, str.user32.dll
mov dword [esp + 0x18], vtable.DynamicLibrary.0
mov dword [esp + 0x1c], esi
call fcn.0041ba00
mov dword [esp + 0x88], esi
mov esi, dword [edi]
push str.user32.dll_successfully_loaded.
call fcn.004239b0
mov esi, dword [esp + 0x1c]
add esp, 4
push str.ChangeWindowMessageFilterEx
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
jne 0x46e6ac
push str.ChangeWindowMessageFilter
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
jne 0x46e63a
push str.Cant_load_the_ChangeWindowMessageFilterEx___or_ChangeWindowMessageFilter___functions.
lea edx, [esp + 0x20]
push edx
call fcn.004048f0
push 0x56e6e0
lea eax, [esp + 0x20]
push eax
call fcn.004841dc
mov esi, dword [edi]
push str.The_ChangeWindowMessageFilter___function_successfully_found.
call fcn.004239b0
mov ecx, dword [esp + 0x14]
add esp, 4
push 1
push ecx
call ebx
cmp eax, 1
je 0x46e6a5
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x1c]
mov edi, eax
call fcn.00404990
lea edx, [esp + 0x1c]
push str.Cant_allow_to_receive_the__d_windows_message_by_the_ChangeWindowMessageFilter___function.
push edx
mov byte [esp + 0x90], 1
call fcn.004056a0
add esp, 8
lea esi, [esp + 0x1c]
call fcn.00404b20
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00419c20
push 0x56e788
lea ecx, [esp + 0x40]
push ecx
call fcn.004841dc
push str.The_ChangeWindowMessageFilter___function_successfully_executed.
jmp 0x46e722
mov esi, dword [edi]
push str.The_ChangeWindowMessageFilterEx___function_successfully_found.
call fcn.004239b0
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
add esp, 4
push 0
push 1
push edx
push eax
call ebx
cmp eax, 1
je 0x46e71d
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x1c]
mov edi, eax
call fcn.00404990
lea ecx, [esp + 0x1c]
push str.Cant_allow_to_receive_the__d_windows_message_by_the_ChangeWindowMessageFilterEx___function.
push ecx
mov byte [esp + 0x90], 2
call fcn.004056a0
add esp, 8
lea esi, [esp + 0x1c]
call fcn.00404b20
push eax
lea edx, [esp + 0x40]
push edx
call fcn.00419c20
push 0x56e788
lea eax, [esp + 0x40]
push eax
call fcn.004841dc
push str.The_ChangeWindowMessageFilterEx___function_successfully_executed.
mov esi, dword [edi]
call fcn.004239b0
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x46e762
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [edi]
push str.The_allowMessage___function_call_is_ignored.
call fcn.004239b0
add esp, 4
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4