Function at 0x1009ece0
Capabilities:
Log keystrokes

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1009ecf4
pop esi
pop ecx
ret
mov eax, dword [esp + 0x14]
test eax, eax
push ebx
push ebp
push edi
jne 0x1009ed16
push eax
push eax
push 0x10
push esi
call fcn.100688c0
mov ch, ch
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 1
jne 0x1009edc2
push esi
call fcn.10052340
add esp, 4
mov esi, eax
mov dh, dh
push 4
push esi
call fcn.100687b0
add esp, 8
nop
push 5
push esi
call fcn.100687b0
add esp, 8
mov eax, eax
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
call fcn.100687d0
add esp, 0x1c
nop
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call ebp
mov cl, cl
mov ebp, ebp
mov bh, bh
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
push edx
pop edx
push 0
push esi
call fcn.10068890
add esp, 8
mov ebx, eax
mov edi, edi
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
push edx
pop edx
push esi
call ebp
mov edx, edx
push 0
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov bh, bh
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push esi
call fcn.100687d0
add esp, 0x1c
mov bh, bh
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 2
jne 0x1009eddf
push 7
push esi
call fcn.100687b0
add esp, 8
mov ch, ch
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 3
jne 0x1009ee06
push 0
push 0xf020
push 0x112
push esi
call fcn.10068820
add esp, 0x10
mov ebx, ebx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 4
jne 0x1009ee23
push 3
push esi
call fcn.100687b0
add esp, 8
mov esi, esi
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 5
jne 0x1009ee40
push 4
push esi
call fcn.100687b0
add esp, 8
mov eax, eax
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 6
jne 0x1009ee5d
push 0
push esi
call fcn.100687b0
add esp, 8
mov ebp, ebp
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 7
jne 0x1009ee7a
push 5
push esi
call fcn.100687b0
add esp, 8
mov edx, edx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 8
jne 0x1009eebb
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov eax, eax
or eax, 8
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push ecx
pop ecx
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
call fcn.100687d0
add esp, 0x1c
push ecx
pop ecx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 9
jne 0x1009eefc
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov bh, bh
and eax, 0xfffffff7
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov esi, esi
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push esi
call fcn.100687d0
add esp, 0x1c
mov edx, edx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xa
jne 0x1009ef17
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push eax
pop eax
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xb
jne 0x1009ef32
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
mov al, al
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xc
jne 0x1009efaa
push esi
call fcn.10052340
add esp, 4
mov esi, eax
mov dh, dh
mov eax, dword [esp + 0x18]
push esi
push eax
call fcn.1009eb00
add esp, 8
mov dl, dl
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call ebp
push eax
pop eax
mov bl, bl
mov dh, dh
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
mov edx, edx
push 0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call fcn.10068890
add esp, 8
mov ebx, eax
xchg ebx, eax
xchg ebx, eax
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov ch, ch
push esi
call ebp
xchg ebx, eax
xchg ebx, eax
push 0
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
xchg ebx, eax
xchg ebx, eax
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xd
jne 0x1009f009
mov esi, esi
lea ecx, [esp + 0x10]
push ecx
push esi
call fcn.10068890
add esp, 8
push eax
pop eax
mov edx, dword [esp + 0x10]
push 0
push 0
push edx
push 0
push 1
call fcn.100682b0
add esp, 0x14
mov esi, eax
mov dh, dh
test esi, esi
je 0x1009f001
push 0
push esi
call fcn.100683b0
add esp, 8
mov eax, eax
push esi
call fcn.1004bef0
add esp, 4
mov edx, edx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
pop ecx
ret
cmp eax, 0xe
jne 0x1009f033
push esi
call fcn.10052340
add esp, 4
mov edx, edx
push 0
push 0
push eax
call fcn.1009ebd0
add esp, 0xc
mov dl, dl
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xf
jne 0x1009f074
mov cl, cl
mov bh, bh
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
mov al, al
push 0
push esi
call fcn.10068890
add esp, 8
mov ebx, eax
mov ecx, ecx
mov ebp, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
push ebx
push edi
call ebp
push edx
pop edx
push esi
call dword [sym.imp.USER32.dll_SetFocus]
mov ah, ah
push 0
push ebx
push edi
call ebp
mov bh, bh
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret