Function at 0x100106f0
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x1c
cmp byte [0x10132fc8], 0
push ebx
push ebp
push esi
push edi
mov ebx, edx
mov ebp, ecx
je case.0x10010773.0
mov edi, dword [0x10131368]
mov eax, dword [0x10132fac]
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
cmp edi, 3
ja case.0x1001071e.0
jmp dword [edi*4 + 0x10010b68]
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1001074a
push eax
call esi
test ax, ax
setne al
jmp 0x1001074a
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je case.0x10010773.0
cmp byte [0x10132fe9], 0
jne case.0x10010773.0
mov ecx, dword [0x10131370]
mov eax, dword [0x10132fd4]
cmp ecx, 3
ja case.0x10010773.0
jmp dword [ecx*4 + 0x10010b78]
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1001079f
push eax
call esi
test ax, ax
setne al
jmp 0x1001079f
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
jne case.0x10010773.0
cmp byte [0x10132ffc], al
jne case.0x10010773.0
mov ecx, dword [0x10131358]
mov eax, dword [0x10132ff0]
cmp ecx, 3
ja case.0x10010773.0
jmp dword [ecx*4 + 0x10010b88]
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x100107f3
push eax
call esi
test ax, ax
setne al
jmp 0x100107f3
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
jne case.0x10010773.0
mov ecx, dword [0x10131384]
mov eax, dword [0x10133000]
cmp ecx, 3
ja case.0x10010773.0
jmp dword [ecx*4 + 0x10010b98]
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1001083b
push eax
call esi
test ax, ax
setne al
jmp 0x1001083b
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
jne case.0x10010773.0
mov ecx, dword [0x1013137c]
mov eax, dword [0x10132fa4]
cmp ecx, 3
ja case.0x10010773.0
jmp dword [ecx*4 + 0x10010ba8]
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x10010883
push eax
call esi
test ax, ax
setne al
jmp 0x10010883
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
jne case.0x10010773.0
mov ecx, dword [0x1013135c]
mov eax, dword [0x10132fb0]
cmp ecx, 3
ja case.0x10010773.0
jmp dword [ecx*4 + 0x10010bb8]
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x100108cb
push eax
call esi
test ax, ax
setne al
jmp 0x100108cb
push eax
call esi
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
jne case.0x10010773.0
mov ecx, dword [0x10132a7c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je case.0x10010773.0
mov ecx, dword [0x10132a7c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je case.0x10010773.0
mov edi, dword [0x10132ac8]
test edi, edi
je case.0x10010773.0
mov eax, dword [0x10132ac4]
test eax, eax
jne 0x10010942
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 case.0x10010773.0
call fcn.1000a160
cmp eax, 8
je case.0x10010773.0
call fcn.1000a160
cmp eax, 9
je case.0x10010773.0
call fcn.1000a160
cmp eax, 0xa
je case.0x10010773.0
mov eax, dword [0x10132af8]
mov esi, dword [0x10132ac8]
mov edi, esi
test eax, eax
jne 0x100109bb
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 esi, dword [0x10132ac8]
mov dword [0x10132af8], eax
test byte [eax + edi], 1
jne case.0x10010773.0
movss xmm1, dword [esi + 0x118]
movss xmm0, dword [esi + 0x114]
mulss xmm0, xmm0
mov dword [esp + 0x18], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [esp + 0x14], xmm0
sqrtss xmm0, dword [esp + 0x14]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x1012c908]
comiss xmm0, dword [esp + 0x18]
jae case.0x10010773.0
mov eax, dword [ebp + 0x30]
mov ecx, eax
and ecx, 0x200
test al, 0x10
je 0x10010a69
movss xmm0, dword [0x1012ca30]
mov dword [0x10132f64], 0xc3340000
test ecx, ecx
je 0x10010a4a
movss xmm0, dword [0x1012ca34]
mov dword [0x10132f64], 0xc3610000
jmp 0x10010ad5
test eax, 0x400
je 0x10010ad5
movss xmm0, dword [0x1012ca2c]
mov dword [0x10132f64], 0xc3070000
jmp 0x10010ad5
test ecx, ecx
je 0x10010a97
movss xmm0, dword [0x1012c950]
mov dword [0x10132f64], 0x42b40000
test al, 8
je 0x10010ad5
movss xmm0, dword [0x1012c930]
mov dword [0x10132f64], 0x42340000
jmp 0x10010ad5
test eax, 0x400
je 0x10010ac8
movss xmm0, dword [0x1012ca24]
mov dword [0x10132f64], 0xc2b40000
test al, 8
je 0x10010ad5
movss xmm0, dword [0x1012ca18]
mov dword [0x10132f64], 0xc2340000
jmp 0x10010ad5
mov dword [0x10132f64], 0
xorps xmm0, xmm0
addss xmm0, dword [ebx + 4]
mov eax, dword [0x10132ac8]
movss dword [ebx + 4], xmm0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], 0
movq xmm0, qword [eax + 0x114]
movq qword [esp + 0x18], xmm0
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
fpatan
movss xmm0, dword [ebx + 4]
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x1012c93c]
subss xmm0, xmm1
call fcn.1000fa30
movaps xmm2, xmm0
comiss xmm2, dword [0x1012c718]
jbe 0x10010b40
movss xmm1, dword [0x1012ca38]
jmp 0x10010b48
movss xmm1, dword [0x1012c9a8]
movss dword [ebp + 0x28], xmm1
movss xmm0, dword [ebx + 4]
subss xmm0, xmm2
call fcn.1000fa30
movss dword [ebx + 4], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret