Function at 0x4111d920
Capabilities:
Log keystrokes via polling

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111d971
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111d968
mov rcx, rax
call fcn.41122190
jmp 0x4111d96a
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.41121680
mov edi, eax
test ebx, ebx
je 0x4111dfad
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
cmp al, 1
jne 0x4111da19
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111d9c9
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111d9c0
mov rcx, rax
call fcn.4110b220
jmp 0x4111d9c2
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.411041a0
test edi, edi
je 0x4111db2a
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111da0c
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111da03
mov rcx, rax
call fcn.41122190
jmp 0x4111da05
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
jmp 0x4111db2a
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov edx, 0x5d
call qword [rax]
cmp eax, 1
jne 0x4111dab0
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111da63
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111da5a
mov rcx, rax
call fcn.4110b220
jmp 0x4111da5c
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41103b00
test edi, edi
je 0x4111db2a
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111daa6
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111da9d
mov rcx, rax
call fcn.41122190
jmp 0x4111da9f
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
jmp 0x4111db2a
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111dae3
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dada
mov rcx, rax
call fcn.4110b220
jmp 0x4111dadc
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41103450
test edi, edi
je 0x4111db2a
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111db22
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111db19
mov rcx, rax
call fcn.41122190
jmp 0x4111db1b
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov edx, 0x44
call qword [rax]
test eax, eax
je 0x4111dbc3
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111db73
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111db6a
mov rcx, rax
call fcn.4110b220
jmp 0x4111db6c
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41104e90
test edi, edi
je 0x4111dcd4
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111dbb6
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dbad
mov rcx, rax
call fcn.41122190
jmp 0x4111dbaf
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
jmp 0x4111dcd4
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov edx, 0x5d
call qword [rax]
cmp eax, 1
jne 0x4111dc5a
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111dc0d
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dc04
mov rcx, rax
call fcn.4110b220
jmp 0x4111dc06
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41104e90
test edi, edi
je 0x4111dcd4
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111dc50
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dc47
mov rcx, rax
call fcn.41122190
jmp 0x4111dc49
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
jmp 0x4111dcd4
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111dc8d
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dc84
mov rcx, rax
call fcn.4110b220
jmp 0x4111dc86
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41104840
test edi, edi
je 0x4111dcd4
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111dccc
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dcc3
mov rcx, rax
call fcn.41122190
jmp 0x4111dcc5
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov edx, 0x5f
call qword [rax]
cmp eax, 1
jne 0x4111dd6b
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111dd1e
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dd15
mov rcx, rax
call fcn.4110b220
jmp 0x4111dd17
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41105b20
test edi, edi
je 0x4111dde5
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111dd61
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dd58
mov rcx, rax
call fcn.41122190
jmp 0x4111dd5a
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
jmp 0x4111dde5
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111dd9e
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dd95
mov rcx, rax
call fcn.4110b220
jmp 0x4111dd97
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.411054d0
test edi, edi
je 0x4111dde5
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111dddd
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111ddd4
mov rcx, rax
call fcn.41122190
jmp 0x4111ddd6
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.410db8d0
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov edx, 0x5e
call qword [rax]
cmp eax, 1
jne 0x4111de7f
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111de2f
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111de26
mov rcx, rax
call fcn.4110b220
jmp 0x4111de28
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41106760
test edi, edi
je 0x4111df90
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111de72
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111de69
mov rcx, rax
call fcn.41122190
jmp 0x4111de6b
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.4112b7a0
jmp 0x4111df90
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
mov edx, 0x5e
call qword [rax]
cmp eax, 2
jne 0x4111df16
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111dec9
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111dec0
mov rcx, rax
call fcn.4110b220
jmp 0x4111dec2
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41106d50
test edi, edi
je 0x4111df90
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111df0c
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111df03
mov rcx, rax
call fcn.41122190
jmp 0x4111df05
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.4112ac70
jmp 0x4111df90
mov rax, qword [0x4135c080]
test rax, rax
jne 0x4111df49
mov ecx, 0x1a0
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111df40
mov rcx, rax
call fcn.4110b220
jmp 0x4111df42
xor eax, eax
mov qword [0x4135c080], rax
mov rcx, rax
call fcn.41106160
test edi, edi
je 0x4111df90
mov rax, qword [0x413609c8]
test rax, rax
jne 0x4111df88
mov ecx, 0x158
call fcn.41211580
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4111df7f
mov rcx, rax
call fcn.41122190
jmp 0x4111df81
xor eax, eax
mov qword [0x413609c8], rax
mov rcx, rax
call fcn.4112b320
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x64]
call qword [rax + 0x90]
mov dword [rsi + 0x10], 0
jmp 0x4111dfc8
mov rcx, qword [rsi + 0x18]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x64]
call qword [rax + 0x90]
mov dword [rsi + 0x10], 0
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret