Function at 0x1000b986
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe8
mov dword [esp + 0x14], ecx
mov ecx, dword [0x1026a33c]
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1000be06
mov edi, dword [0x102a036c]
mov eax, edi
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000be06
mov eax, dword [0x102a0368]
test eax, eax
jne 0x1000b7b8
mov edx, 0xe80c2f78
mov ecx, 0x102113c1
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112e9
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edi, dword [0x102a036c]
mov dword [0x102a0368], eax
mov ecx, dword [esp + 0x24]
cmp dword [eax + ecx], 0
jle 0x1000be06
mov edx, 0xe80c2f78
mov ecx, 0x102113f9
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112e9
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov ecx, dword [0x102a02f0]
mov edx, dword [eax + edi]
mov eax, dword [ecx]
and edx, 0xfff
push edx
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
je 0x1000be06
mov eax, dword [0x102a03d0]
test eax, eax
jne 0x1000b84b
mov edx, 0xe80c2f78
mov ecx, 0x10211569
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211359
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov dword [0x102a03d0], eax
cmp dword [eax + edi], 0
jle 0x1000be06
mov ecx, dword [0x102a0388]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, dword [0x1026a340]
test eax, eax
jne 0x1000b8a1
mov edx, 0xe80c2f78
mov ecx, 0x1021136d
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211385
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov ecx, dword [0x102a0388]
mov dword [0x1026a340], eax
movsx eax, word [eax + edi]
push eax
call dword [esp + 0x1c]
test eax, eax
je 0x1000be06
mov edi, dword [0x102a0308]
test edi, edi
jne 0x1000b8ed
mov edx, 0xe80c2f78
mov ecx, 0x10211341
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211359
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edi, eax
mov dword [0x102a0308], edi
mov eax, dword [0x102a036c]
mov dword [esp + 0x18], eax
mov eax, dword [0x102a0370]
test eax, eax
jne 0x1000b92d
mov edx, 0xe80c2f78
mov ecx, 0x102113ed
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112e9
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov dword [0x102a0370], eax
mov ecx, dword [esp + 0x18]
movd xmm1, dword [eax + ecx]
mov eax, dword [0x102a02f8]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax + 0x20]
mov eax, dword [esp + 0x24]
movss xmm0, dword [edi + eax]
comiss xmm0, xmm1
ja 0x1000be06
cmp byte [0x10266044], 0
jne 0x1000be06
cmp byte [0x102a03c8], 0
je 0x1000be06
mov ecx, dword [0x10266048]
mov eax, dword [0x102a03cc]
cmp ecx, 3
ja case.0x1000b97f.0
jmp dword [ecx*4 + 0x1000be0c]
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1000b9b7
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
jmp 0x1000b9b7
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x1000be06
mov esi, dword [0x102a0364]
mov eax, dword [0x102a036c]
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x34], vtable.trace_filter.0
mov dword [esp + 0x20], eax
test esi, esi
jne 0x1000badb
mov edx, 0xe80c2f78
mov ecx, 0x102113cd
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [0x102a0364], esi
mov edi, dword [esp + 0x1c]
movss xmm0, dword [edi + 0xc]
addss xmm0, dword [esi + eax]
mulss xmm0, dword [0x102514a8]
movss dword [esp + 0x14], xmm0
call fcn.1000b700
mov eax, dword [esp + 0x20]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esi + eax + 4]
addss xmm0, dword [edi + 0x10]
mulss xmm0, dword [0x102514a8]
movss dword [esp + 0x1c], xmm0
call fcn.1000b700
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x1c]
call fcn.1000b720
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x14]
call fcn.1000b720
mov ecx, dword [0x102a0388]
xorps xmm0, xmmword [0x10251e40]
mov edx, dword [0x1026a340]
movss dword [esp + 0x18], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
test edx, edx
jne 0x1000bbaf
mov edx, 0xe80c2f78
mov ecx, 0x1021136d
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211385
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov ecx, dword [0x102a0388]
mov edx, eax
mov dword [0x1026a340], edx
mov eax, dword [esp + 0x24]
movsx eax, word [edx + eax]
push eax
call dword [esp + 0x18]
mov ecx, dword [0x102a036c]
movss xmm0, dword [eax + 0x10c]
lea eax, [esp + 0x28]
push eax
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x3c], ecx
call fcn.10005630
movss xmm4, dword [esp + 0x14]
lea ecx, [esp + 0xa0]
movaps xmm1, xmm4
mulss xmm1, dword [esp + 0x20]
movss xmm0, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm3, dword [eax + 8]
addss xmm1, xmm0
movss dword [esp + 0x3c], xmm0
lea eax, [esp + 0x28]
movaps xmm0, xmm4
movss dword [esp + 0x40], xmm2
mulss xmm0, dword [esp + 0x1c]
push eax
mulss xmm4, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
addss xmm0, xmm2
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x30], xmm1
addss xmm4, xmm3
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x38], xmm4
call fcn.10005420
mov ecx, dword [0x102a02f4]
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x38]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xa8]
push 0x46004003
push edx
call dword [eax + 0x14]
mov edx, dword [esp + 0x94]
test edx, edx
je 0x1000be06
mov eax, dword [0x102a0368]
mov dword [esp + 0x14], edx
test eax, eax
jne 0x1000bcc3
mov edx, 0xe80c2f78
mov ecx, 0x102113c1
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112e9
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edx, dword [esp + 0x94]
mov dword [0x102a0368], eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx + eax], 0
jle 0x1000be06
mov ecx, dword [0x102a02ec]
mov eax, edx
mov dword [esp + 0x14], eax
test ecx, ecx
jne 0x1000bd1d
mov edx, 0xe80c2f78
mov ecx, 0x10211335
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112f5
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edx, dword [esp + 0x94]
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [0x102a02ec], ecx
mov esi, dword [0x102a036c]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
test ecx, ecx
jne 0x1000bd71
mov edx, 0xe80c2f78
mov ecx, 0x10211335
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112f5
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edx, dword [esp + 0x94]
mov ecx, eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [0x102a02ec], ecx
mov eax, dword [eax]
cmp eax, dword [esi + ecx]
je 0x1000be06
mov eax, dword [0x1026a344]
mov dword [esp + 0x14], edx
test eax, eax
jne 0x1000bdbe
mov edx, 0xe80c2f78
mov ecx, 0x1021139d
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x102112e9
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edx, dword [esp + 0x94]
mov dword [0x1026a344], eax
mov ecx, dword [esp + 0x14]
cmp byte [eax + ecx], 0
jne 0x1000be06
mov eax, dword [edx + 8]
lea ecx, [edx + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1000be06
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx]
mov eax, dword [eax + 0x278]
call eax
test al, al
je 0x1000be06
mov eax, dword [esp + 0x8c]
cmp eax, 1
je 0x1000be02
cmp eax, 2
je 0x1000be02
cmp eax, 3
jne 0x1000be06
or dword [edi + 0x30], 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret