Function at 0x100a3600
Capabilities:
Log keystrokes

Disassembly:
sub esp, 0x30
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
push esi
mov esi, dword [esp + 0x40]
push edi
mov edi, dword [esp + 0x40]
test edi, edi
mov dword [esp + 8], esi
jne 0x100a3631
push eax
call fcn.100a26b0
add esp, 4
mov edi, eax
mov ch, ch
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100a364d
pop edi
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.10117937
add esp, 0x30
ret
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100a3652
push ebx
sub eax, edx
push ebp
mov esi, eax
mov bl, bl
lea ebx, [esi + esi + 2]
push ebx
call fcn.10117399
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
nop
test ebp, ebp
jne 0x100a368e
pop ebp
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.10117937
add esp, 0x30
ret
push ebx
push 0
push ebp
call fcn.101183f0
add esp, 0xc
mov dh, dh
mov eax, dword [esp + 0x10]
add esi, 1
push esi
push ebp
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov eax, eax
mov eax, ebp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100a36c0
sub eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
mov eax, eax
push 5
push edi
call fcn.100688d0
add esp, 8
test eax, eax
je 0x100a376e
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov esi, eax
push eax
pop eax
push 0
push edi
call fcn.10068890
add esp, 8
mov ebx, eax
nop
push 1
push ebx
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov edx, edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [esp + 0x10], eax
xchg ebx, eax
xchg ebx, eax
push 0
push ebx
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
push ebx
pop ebx
mov esi, dword [esp + 0x10]
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
push esi
call ebx
test eax, eax
je 0x100a376e
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100a376e
mov dh, dh
mov ecx, esi
push ecx
call ebx
test eax, eax
je 0x100a376e
jmp 0x100a3750
cmp esi, edi
je 0x100a3768
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
mov ch, ch
push esi
call ebx
test eax, eax
jne 0x100a3750
jmp 0x100a376e
mov edi, dword [esp + 0x10]
mov al, al
mov eax, eax
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x100a37ff
mov ebx, dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
mov esi, ebp
mov ebp, eax
mov cl, cl
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov edi, edi
push eax
push eax
push 0x20
lea edx, [esp + 0x28]
push edx
push 1
push esi
push eax
push eax
call ebx
push ecx
pop ecx
mov dword [esp + 0x10], 0
mov ebx, ebx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov ch, al
push 0x9c4
push 1
movzx edx, ah
push 1
or ecx, edx
push ecx
push 0x286
push edi
call fcn.10068840
add esp, 0x1c
nop
add esi, 2
sub ebp, 1
jne 0x100a3786
mov ebp, dword [esp + 0x18]
push ebp
call fcn.1011745c
add esp, 4
mov ebx, ebx
mov ecx, dword [esp + 0x3c]
pop ebp
pop ebx
pop edi
pop esi
xor ecx, esp
mov eax, 1
call fcn.10117937
add esp, 0x30
ret