Function at 0x1001177a
Capabilities:
Log keystrokes via polling

Disassembly:
cmp byte [0x10132fe8], 0
push ebx
push esi
push edi
mov ebx, ecx
je 0x10011a02
mov edx, dword [0x10131380]
mov eax, dword [0x10132fcc]
cmp edx, 3
ja case.0x10011752.0
jmp dword [edx*4 + 0x10011a08]
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1001178a
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
jmp 0x1001178a
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x10011a02
mov ecx, dword [0x10132a7c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10011a02
mov ecx, dword [0x10132a7c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10011a02
mov edi, dword [0x10132ac8]
test edi, edi
je 0x10011a02
mov eax, dword [0x10132ac4]
test eax, eax
jne 0x10011801
mov edx, 0xe80c2f78
mov ecx, 0x101114a5
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov dword [0x10132ac4], eax
cmp dword [eax + edi], 0
jle 0x10011a02
call fcn.1000a160
cmp eax, 8
je 0x10011a02
call fcn.1000a160
cmp eax, 9
je 0x10011a02
call fcn.1000a160
cmp eax, 0xa
je 0x10011a02
mov edx, dword [0x1013303c]
mov eax, dword [0x10132af8]
test dl, 1
jne 0x10011964
mov edi, dword [0x10132ac8]
test eax, eax
jne 0x10011887
mov edx, 0xe80c2f78
mov ecx, 0x101115e9
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov edx, dword [0x1013303c]
mov dword [0x10132af8], eax
test byte [eax + edi], 1
je 0x10011899
mov ecx, dword [ebx + 0x30]
and ecx, 0xfffffffd
or ecx, 4
mov dword [ebx + 0x30], ecx
test dl, 1
jne 0x10011964
mov edi, dword [0x10132ac8]
test eax, eax
jne 0x100118da
mov edx, 0xe80c2f78
mov ecx, 0x101115e9
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov dword [0x10132af8], eax
test byte [eax + edi], 1
jne 0x10011964
cmp byte [0x1013302b], 0
jne 0x10011964
cmp byte [0x1013302e], 0
jne 0x10011964
mov eax, dword [0x10132f60]
mov edi, dword [0x10132ac8]
test eax, eax
jne 0x10011933
mov edx, 0xe80c2f78
mov ecx, 0x10111b09
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113e5
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov dword [0x10132f60], eax
movss xmm0, dword [eax + edi + 8]
comiss xmm0, dword [0x10131d90]
jbe 0x10011964
call fcn.1000a160
cmp eax, 9
je 0x10011964
call fcn.1000a160
cmp eax, 8
je 0x10011964
call fcn.1000a160
cmp eax, 0xa
je 0x10011964
mov al, 1
jmp 0x10011966
xor al, al
cmp byte [0x10132f9c], 0
mov byte [0x10133028], al
je 0x10011a02
test al, al
je 0x10011a02
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dl, 1
sub esp, 0x18
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xf
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str._print_jumpbug]
movq qword [ecx], xmm0
xorps xmm0, xmm0
mov eax, dword [0x10111b5c]
mov dword [ecx + 8], eax
mov ax, word [0x10111b60]
mov word [ecx + 0xc], ax
mov al, byte [0x10111b62]
mov byte [ecx + 0xe], al
mov byte [ecx + 0xf], 0
mov ecx, esp
push 1
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xc
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.done_jumpbug]
movq qword [ecx], xmm0
mov eax, dword [0x10111b6c]
mov dword [ecx + 8], eax
mov byte [ecx + 0xc], 0
mov cl, dl
call fcn.10015920
add esp, 0x34
pop edi
pop esi
pop ebx
ret