Function at 0x41ffa0
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
mov ebx, dword [sym.imp.USER32.dll_GetForegroundWindow]
call ebx
mov edi, dword [ebp + 8]
test eax, eax
jne 0x420033
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 3
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
push edi
call esi
push edi
call dword [sym.imp.USER32.dll_BringWindowToTop]
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call esi
mov eax, dword [0x457bd8]
test al, 1
jne 0x42001b
or eax, 1
push 0x436ff0
mov dword [0x457bd8], eax
mov dword [0x457bd4], 0
call fcn.00431596
add esp, 4
push str.ForceForegroundWindow_hCurForegroundWindow__NULL_n
mov ecx, 0x457bd4
call fcn.0042aa80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, edi
je 0x420154
push str.ForceForegroundWindow_hCurForegroundWindow___hWnd_n
call fcn.004207d0
mov ecx, eax
call fcn.0042aa80
mov esi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push 0
push edi
call esi
push 0
mov dword [ebp - 4], eax
call ebx
push eax
call esi
mov esi, dword [ebp - 4]
mov dword [ebp + 8], eax
cmp eax, esi
je 0x420125
push str.ForceForegroundWindow_ForegroundThreadID___ThisThreadID_n
call fcn.004207d0
mov ecx, eax
call fcn.0042aa80
push 1
push dword [ebp + 8]
push esi
mov esi, dword [sym.imp.USER32.dll_AttachThreadInput]
call esi
push edi
call dword [sym.imp.USER32.dll_BringWindowToTop]
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0
push dword [ebp + 8]
push dword [ebp - 4]
call esi
call ebx
cmp eax, edi
je 0x42010d
push str.ForceForegroundWindow_GetForegroundWindow_____hWnd_n
call fcn.004207d0
mov ecx, eax
call fcn.0042aa80
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoW]
push 0
lea eax, [ebp + 8]
push eax
push 0
push 0x2000
call esi
push 2
push 0
push 0
push 0x2001
call esi
mov eax, dword [sym.imp.USER32.dll_BringWindowToTop]
push edi
call eax
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
push 2
lea eax, [ebp + 8]
push eax
push 0
push 0x2001
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [sym.imp.USER32.dll_BringWindowToTop]
push edi
call eax
push edi
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.ForceForegroundWindow_ForegroundThreadID__ThisThreadID_n
call fcn.004207d0
mov ecx, eax
call fcn.0042aa80
push edi
call dword [sym.imp.USER32.dll_BringWindowToTop]
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x457bd8]
test al, 1
jne 0x42017c
or eax, 1
push 0x436ff0
mov dword [0x457bd8], eax
mov dword [0x457bd4], 0
call fcn.00431596
add esp, 4
push str.ForceForegroundWindow_hCurForegroundWindow__hWnd_n
mov ecx, 0x457bd4
call fcn.0042aa80
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
call esi
push edi
call dword [sym.imp.USER32.dll_BringWindowToTop]
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4