Function at 0x100840c0
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 0x100840d4
pop esi
pop ecx
ret
mov eax, dword [esp + 0x14]
test eax, eax
push ebx
push ebp
push edi
jne 0x100840f6
push eax
push eax
push 0x10
push esi
call fcn.1004d8e0
mov dl, dl
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 1
jne 0x100841a6
push esi
call fcn.10036740
add esp, 4
mov esi, eax
push edx
pop edx
push 4
push esi
call fcn.1004d7d0
add esp, 8
test eax, eax
push 5
push esi
call fcn.1004d7d0
add esp, 8
test edx, edx
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
call fcn.1004d7f0
add esp, 0x1c
test ah, ah
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call ebp
push ebx
pop ebx
mov al, al
test esi, esi
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
test bh, bh
push 0
push esi
call fcn.1004d8b0
add esp, 8
mov ebx, eax
nop
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov dh, dh
push esi
call ebp
test eax, 0x1e8d
push 0
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
test dl, dl
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push esi
call fcn.1004d7f0
add esp, 0x1c
xchg ebx, eax
xchg ebx, eax
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 2
jne 0x100841c3
push 7
push esi
call fcn.1004d7d0
add esp, 8
test esi, esi
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 3
jne 0x100841ed
push 0
push 0xf020
push 0x112
push esi
call fcn.1004d840
add esp, 0x10
test eax, 0x7f6f
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 4
jne 0x1008420a
push 3
push esi
call fcn.1004d7d0
add esp, 8
mov bh, bh
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 5
jne 0x10084227
push 4
push esi
call fcn.1004d7d0
add esp, 8
push edx
pop edx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 6
jne 0x10084244
push 0
push esi
call fcn.1004d7d0
add esp, 8
mov ah, ah
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 7
jne 0x10084261
push 5
push esi
call fcn.1004d7d0
add esp, 8
mov ch, ch
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 8
jne 0x100842a2
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, edx
or eax, 8
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov bl, bl
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
call fcn.1004d7f0
add esp, 0x1c
test edi, edi
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 9
jne 0x100842e6
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
test bh, bh
and eax, 0xfffffff7
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dl, dl
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push esi
call fcn.1004d7f0
add esp, 0x1c
test eax, 0x696a
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xa
jne 0x10084301
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
mov ch, ch
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xb
jne 0x1008431c
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
mov bh, bh
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xc
jne 0x10084394
push esi
call fcn.10036740
add esp, 4
mov esi, eax
mov al, al
mov eax, dword [esp + 0x18]
push esi
push eax
call fcn.10083ed0
add esp, 8
mov ebp, ebp
mov ebp, dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
call ebp
test cl, cl
push ecx
pop ecx
mov edi, edi
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
test edx, edx
push 0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call fcn.1004d8b0
add esp, 8
mov ebx, eax
test ebx, ebx
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov ah, ah
push esi
call ebp
test dl, dl
push 0
push ebx
push edi
call dword [sym.imp.USER32.dll_AttachThreadInput]
test ecx, ecx
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xd
jne 0x100843f2
mov bl, bl
lea ecx, [esp + 0x10]
push ecx
push esi
call fcn.1004d8b0
add esp, 8
nop
mov edx, dword [esp + 0x10]
push 0
push 0
push edx
push 0
push 1
call fcn.1004d2d0
add esp, 0x14
mov esi, eax
test ebx, ebx
test esi, esi
je 0x100843ea
push 0
push esi
call fcn.1004d3d0
add esp, 8
mov bh, bh
push esi
call fcn.10032590
add esp, 4
mov ch, ch
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 0x1008441c
push esi
call fcn.10036740
add esp, 4
mov eax, eax
push 0
push 0
push eax
call fcn.10083fa0
add esp, 0xc
test bl, bl
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret
cmp eax, 0xf
jne 0x1008445d
mov ah, ah
mov dh, dh
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
mov esi, esi
push 0
push esi
call fcn.1004d8b0
add esp, 8
mov ebx, eax
test ah, ah
mov ebp, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
push ebx
push edi
call ebp
test esi, esi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
test ch, ch
push 0
push ebx
push edi
call ebp
test ch, ch
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
pop ecx
ret