Function at 0x100d54b0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0
push 0
call fcn.10092030
add esp, 8
mov ebx, eax
push 0x17
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
neg edi
push 1
sbb edi, edi
neg edi
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
mov esi, dword [ebp + 0x10]
jb 0x100d555a
test edi, edi
setne al
lea eax, [eax*2 + 1]
movzx edx, al
dec edx
mov dword [ebp - 4], eax
mov ecx, edx
mov eax, 1
shl eax, cl
movzx ecx, byte [esi + 0x44]
mov dword [ebp + 0x10], eax
test ecx, eax
je 0x100d553f
push dword [esi]
btr ecx, edx
mov byte [esi + 0x44], cl
call fcn.100e2d30
mov eax, dword [esi]
add esp, 4
test dword [eax + 0x38], 0xc0000
jne 0x100d553c
push 0
push str.SDL_MOUSE_FOCUS_CLICKTHROUGH
call fcn.10088500
add esp, 8
test eax, eax
je 0x100d555a
mov eax, dword [ebp + 0x10]
test ebx, eax
je 0x100d555a
push dword [ebp - 4]
push 0
push 0
push dword [esi]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10093170
add esp, 0x18
push 2
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x100d55d5
test edi, edi
mov edi, 1
sete al
lea edx, [eax*2 + 1]
movzx eax, byte [esi + 0x44]
movzx ecx, dl
dec ecx
mov dword [ebp + 0x10], edx
shl edi, cl
test eax, edi
je 0x100d55bc
push dword [esi]
btr eax, ecx
mov byte [esi + 0x44], al
call fcn.100e2d30
mov eax, dword [esi]
add esp, 4
test dword [eax + 0x38], 0xc0000
jne 0x100d55b9
push 0
push str.SDL_MOUSE_FOCUS_CLICKTHROUGH
call fcn.10088500
add esp, 8
test eax, eax
je 0x100d55d5
mov edx, dword [ebp + 0x10]
test ebx, edi
je 0x100d55d5
push edx
push 0
push 0
push dword [esi]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10093170
add esp, 0x18
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 4
call edi
bt ax, 0xf
jb 0x100d5638
movzx eax, byte [esi + 0x44]
test al, 2
je 0x100d561d
push dword [esi]
btr eax, 1
mov byte [esi + 0x44], al
call fcn.100e2d30
mov eax, dword [esi]
add esp, 4
test dword [eax + 0x38], 0xc0000
jne 0x100d561d
push 0
push str.SDL_MOUSE_FOCUS_CLICKTHROUGH
call fcn.10088500
add esp, 8
test eax, eax
je 0x100d5638
test bl, 2
je 0x100d5638
push 2
push 0
push 0
push dword [esi]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10093170
add esp, 0x18
push 5
call edi
bt ax, 0xf
jb 0x100d5695
movzx eax, byte [esi + 0x44]
test al, 8
je 0x100d567a
push dword [esi]
btr eax, 3
mov byte [esi + 0x44], al
call fcn.100e2d30
mov eax, dword [esi]
add esp, 4
test dword [eax + 0x38], 0xc0000
jne 0x100d567a
push 0
push str.SDL_MOUSE_FOCUS_CLICKTHROUGH
call fcn.10088500
add esp, 8
test eax, eax
je 0x100d5695
test bl, 8
je 0x100d5695
push 4
push 0
push 0
push dword [esi]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10093170
add esp, 0x18
push 6
call edi
bt ax, 0xf
jb 0x100d56f2
movzx eax, byte [esi + 0x44]
test al, 0x10
je 0x100d56d7
push dword [esi]
btr eax, 4
mov byte [esi + 0x44], al
call fcn.100e2d30
mov eax, dword [esi]
add esp, 4
test dword [eax + 0x38], 0xc0000
jne 0x100d56d7
push 0
push str.SDL_MOUSE_FOCUS_CLICKTHROUGH
call fcn.10088500
add esp, 8
test eax, eax
je 0x100d56f2
test bl, 0x10
je 0x100d56f2
push 5
push 0
push 0
push dword [esi]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10093170
add esp, 0x18
pop edi
mov dword [esi + 0x24], 0xffffffff
pop esi
pop ebx
mov esp, ebp
pop ebp
ret