Function at 0x1001fd42
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10080ae8
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x100afcf0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x40], esi
mov cl, byte [esi + 0x78]
test cl, cl
je 0x1001fc69
mov eax, dword [ebp + 8]
cmp eax, 0x205
ja 0x1001fed4
cmp eax, 0x204
jae 0x1001fee2
cmp eax, 0x100
je 0x1001fc89
cmp eax, 0x200
jbe 0x1001fc69
cmp eax, 0x202
jbe 0x1001fee2
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10060c02
mov esp, ebp
pop ebp
ret 8
mov edi, dword [ebp + 0xc]
lea eax, [edi - 8]
cmp eax, 0x26
ja case.0x1001fc9f.9
movzx eax, byte [eax + 0x1001ff2c]
jmp dword [eax*4 + 0x1001ff14]
test cl, cl
je case.0x1001fc9f.38
mov eax, dword [esi + 0x98]
test eax, eax
jle case.0x1001fc9f.38
push 1
dec eax
lea ecx, [esi + 0x80]
push eax
call fcn.1001fa80
dec dword [esi + 0x98]
mov ecx, esi
push 1
call fcn.1001f2d0
mov al, 1
jmp 0x1001fc6b
test cl, cl
je case.0x1001fc9f.38
cmp dword [esi + 0x90], 0
je case.0x1001fc9f.38
push 1
push dword [esi + 0x98]
lea ecx, [esi + 0x80]
call fcn.1001fa80
push 1
mov ecx, esi
call fcn.1001f2d0
mov al, 1
jmp 0x1001fc6b
test cl, cl
je case.0x1001fc9f.38
mov ecx, esi
call fcn.1001f410
mov al, 1
jmp 0x1001fc6b
test cl, cl
je case.0x1001fc9f.38
mov ecx, esi
call fcn.1001f430
mov al, 1
jmp 0x1001fc6b
test cl, cl
je case.0x1001fc9f.38
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0xa0
call esi
test al, al
js 0x1001fd6a
push 0xa1
call esi
test al, al
js 0x1001fd6a
xor bh, bh
jmp 0x1001fd6c
mov bh, 1
push 0xa3
mov byte [ebp - 0x29], bh
call esi
test al, al
js 0x1001fd89
push 0xa2
call esi
test al, al
js 0x1001fd89
xor bl, bl
jmp 0x1001fd8b
mov bl, 1
movzx eax, di
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x28]
push eax
call fcn.1001f330
add esp, 4
mov ecx, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 4], 0
mov eax, 1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], esi
test bl, bl
je 0x1001fdc8
cmp ecx, 0x56
jne 0x1001fdc8
mov esi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], eax
xor edx, edx
mov dword [ebp - 0x38], edx
test eax, eax
jle 0x1001febc
cmp esi, 1
jne 0x1001fdec
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
movzx eax, word [eax + edx*2]
mov dword [ebp - 0x30], eax
mov esi, 0x100af33c
mov edi, 0x1f
test bh, bh
je 0x1001fe23
cmp dword [esi - 0x1c], ecx
jne 0x1001fe54
cmp dword [esi + 0x14], 8
jb 0x1001fe09
mov eax, dword [esi]
jmp 0x1001fe0b
mov eax, esi
lea edx, [ebp - 0x30]
mov edi, edi
movzx ecx, word [eax]
lea eax, [eax + 2]
mov word [edx], cx
lea edx, [edx + 2]
test cx, cx
jne 0x1001fe10
jmp 0x1001fe51
cmp dword [esi - 0x1c], ecx
jne 0x1001fe54
cmp dword [esi - 4], 8
jb 0x1001fe33
mov ecx, dword [esi - 0x18]
jmp 0x1001fe36
lea ecx, [esi - 0x18]
lea edx, [ebp - 0x30]
lea esp, [esp]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x1001fe40
mov ecx, dword [ebp + 0xc]
add esi, 0x34
dec edi
jne 0x1001fdf6
mov esi, dword [ebp - 0x30]
push esi
call fcn.1006706f
add esp, 4
test eax, eax
je 0x1001fea6
test bh, bh
jne 0x1001fe7d
push esi
call fcn.10067134
movzx esi, ax
add esp, 4
mov dword [ebp - 0x30], esi
mov ebx, dword [ebp - 0x40]
push esi
push 1
push dword [ebx + 0x98]
lea ecx, [ebx + 0x80]
call fcn.1001fb30
inc dword [ebx + 0x98]
mov ecx, ebx
push 1
call fcn.1001f2d0
mov bh, byte [ebp - 0x29]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + 0xc]
inc edx
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x38], edx
cmp edx, dword [ebp - 0x34]
jl 0x1001fdd5
cmp dword [ebp - 0x14], 8
jb case.0x1001fc9f.38
push dword [ebp - 0x28]
call fcn.10060d01
add esp, 4
mov al, 1
jmp 0x1001fc6b
add eax, 0xfffffdf9
cmp eax, 1
ja 0x1001fc69
test cl, cl
je 0x1001fc69
lea eax, [esi + 0x80]
mov byte [esi + 0x78], 0
cmp dword [eax + 0x14], 8
jb 0x1001fefc
mov eax, dword [eax]
push eax
call fcn.10055db0
add esp, 4
mov ecx, esi
push eax
call fcn.10041120
mov al, 1
jmp 0x1001fc6b