Function at 0x10010aa0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0xe609e8], 4
jne 0x10011355
mov eax, 0x482b70
call eax
fldz
cmp byte [eax + 0x849c], 0
je 0x10011359
fld dword [0x100c97ec]
fadd qword [0x100b71e0]
fstp dword [0x100c97ec]
fld dword [0x100b80a8]
fcom dword [0x100c97ec]
fnstsw ax
test ah, 0x41
jp 0x10010af4
fstp dword [0x100c97ec]
jmp 0x10010af6
fstp st(0)
push ecx
fst dword [esp]
push 1
fld1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100b75ec]
mov ecx, 0x637c60
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b75c8]
fstp dword [esp + 0xc]
fld dword [0x100b72d0]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fstp dword [esp + 4]
fld dword [0x100b7510]
fstp dword [esp]
push 0x17
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100b70e8]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld dword [0x100b75ec]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b7348]
fstp dword [esp + 0xc]
fld dword [0x100b72d0]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b80a0]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b7510]
fstp dword [esp]
push 0x18
call edx
fld dword [0x100c97ec]
fadd qword [0x100b8098]
add esp, 0x30
push 0x14
push 0x13
call fcn.100ac0e0
push eax
push 0x106
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10010c8f
push 1
mov ecx, 0x791070
call ecx
add esp, 4
test eax, eax
je 0x10010c8f
mov eax, dword [0x10610674]
cmp eax, 4
jl 0x10010c04
cmp eax, 1
jle 0x10010c0c
lea edx, [eax - 1]
cmp edx, 3
ja 0x10010c17
dec eax
mov dword [0x10610674], eax
call fcn.10010a50
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100b8094]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100b8090]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b71f4]
fstp dword [esp + 0xc]
fld dword [0x100b7310]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b8098]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b808c]
fstp dword [esp]
push 0x1a
call ecx
add esp, 0x30
fld dword [0x100c97ec]
push 0x14
fadd qword [0x100b8098]
push 0x13
call fcn.100ac0e0
push eax
push 0x167
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x10010d6a
push 1
mov eax, 0x791070
call eax
add esp, 4
test eax, eax
je 0x10010d6a
mov eax, dword [0x10610674]
test eax, eax
js 0x10010cde
cmp eax, 3
jle 0x10010ce7
cmp eax, 3
jl 0x10010cf2
test eax, eax
jg 0x10010cf2
inc eax
mov dword [0x10610674], eax
call fcn.10010a50
push 0
push 0
push 0x19
mov ecx, 0x6d6c20
call ecx
fldz
fst dword [esp + 8]
add esp, 8
fld dword [0x100b8094]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld dword [0x100b8090]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b71f4]
fstp dword [esp + 0xc]
fld dword [0x100b7310]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b8098]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b8088]
fstp dword [esp]
push 0x1b
call edx
add esp, 0x30
mov eax, dword [0x10610674]
push esi
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
cmp eax, 6
ja case.default.0x10010d80
push ebx
jmp dword [eax*4 + 0x1001136c]
push 1
mov eax, 0x635fd0
call eax
fld dword [0x100b6f6c]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100b71f4]
mov ecx, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100b7310]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b8098]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b808c]
fstp dword [esp]
call ecx
mov edx, 0x636070
call edx
push 1
mov eax, 0x635fd0
call eax
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
push 0x14
jmp 0x10010e5a
push 0x15
mov eax, 0x402320
mov ecx, 0x41fe10
call eax
jmp 0x10010e66
push 0x16
jmp 0x10010e5a
push 0x17
mov eax, 0x402320
mov ecx, 0x41fe10
call eax
jmp 0x10010e66
push 0x18
jmp 0x10010e5a
push 0x697
mov eax, 0x402320
mov ecx, 0x41fe10
call eax
jmp 0x10010e66
push 0xc4e
mov ecx, 0x41fe10
mov edx, 0x402320
call edx
fld dword [0x100c97ec]
push eax
fadd qword [0x100b7cd0]
push 0x32
call fcn.100ac0e0
push 0x127
push 0xffffffffffffffff
mov ebx, 3
mov ecx, eax
call fcn.10050e40
add esp, 0x10
pop ebx
cmp dword [0x10610674], 4
jne 0x10010f2d
push 1
mov eax, 0x635fd0
call eax
fld dword [0x100b6f6c]
fstp dword [esp]
sub esp, 0xc
fldz
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fldz
push 0
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [0x100b71f4]
mov ecx, 0x6378a0
fstp dword [esp + 0xc]
fld dword [0x100b7310]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b8098]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b8088]
fstp dword [esp]
call ecx
mov edx, 0x636070
call edx
push 1
mov eax, 0x635fd0
call eax
fld1
add esp, 0xc
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call esi
fld dword [0x100c97ec]
fadd qword [0x100b7d50]
call fcn.100ac0e0
mov ecx, dword [0xe8c544]
push eax
push 0x122
mov edx, 0x417ec0
call edx
fld dword [0x100c97ec]
fadd qword [0x100b8080]
push 0x17
push 0x3a
call fcn.100ac0e0
push eax
push 0x103
mov eax, 0x790b10
call eax
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x10
test al, al
je 0x10011027
push 1
call esi
mov ecx, 0x8000
test cx, ax
je 0x10010fbf
mov edx, 0x482b70
call edx
add eax, 0x8490
push eax
mov eax, 0x482b70
call eax
mov edx, 0x483b50
mov ecx, eax
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100b75f8]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100b8078]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b7478]
fstp dword [esp + 0xc]
fld dword [0x100b8074]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b8080]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b75b4]
fstp dword [esp]
push 0x1c
call ecx
add esp, 0x30
fld dword [0x100c97ec]
push 0x17
fadd qword [0x100b8080]
push 0x3a
call fcn.100ac0e0
push eax
push 0x143
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x100110ee
push 1
call esi
mov ecx, 0x8000
test cx, ax
je 0x10011086
mov edx, 0x482b70
call edx
mov edx, 0x403e00
lea ecx, [eax + 0x8490]
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
fldz
push ecx
fst dword [esp]
mov ecx, 0x637c60
fld dword [0x100b75f8]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100b8078]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b7478]
fstp dword [esp + 0xc]
fld dword [0x100b8074]
fstp dword [esp + 8]
fld dword [0x100c97ec]
fadd qword [0x100b8080]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 4]
fld dword [0x100b772c]
fstp dword [esp]
push 0x1d
call ecx
add esp, 0x30
fldz
pop esi
push ecx
fst dword [esp]
push 1
fld dword [0x100b7624]
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld dword [0x100b6f20]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100b75dc]
fstp dword [esp + 0xc]
fld dword [0x100b75d8]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100b75d4]
fstp dword [esp]
push 0xc
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100b7624]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100b75d0]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100b6f20]
fstp dword [esp + 0x10]
fld dword [0x100b75dc]
fstp dword [esp + 0xc]
fld dword [0x100b75d8]
fstp dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
push 0xc
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100b75cc]
mov ecx, 0x637c60
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b75c8]
fstp dword [esp + 0xc]
fld dword [0x100b75c4]
fstp dword [esp + 8]
fld dword [0x100b70ac]
fstp dword [esp + 4]
fld dword [0x100b75c0]
fstp dword [esp]
push 0xd
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld1
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x100b75bc]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100b75cc]
fstp dword [esp + 0x10]
fld dword [0x100b75c8]
fstp dword [esp + 0xc]
fld dword [0x100b75c4]
mov edx, 0x637c60
fstp dword [esp + 8]
fld dword [0x100b70ac]
fstp dword [esp + 4]
fstp dword [esp]
push 0xd
call edx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100b75b8]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov eax, 0x637c60
fld dword [0x100b75cc]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x100b737c]
fstp dword [esp + 0xc]
fld dword [0x100b75c4]
fstp dword [esp + 8]
fld dword [0x100b75b4]
fstp dword [esp + 4]
fld dword [0x100b75c0]
fstp dword [esp]
push 0xe
call eax
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100b75b8]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, 0x637c60
fld dword [0x100b75bc]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fld dword [0x100b75cc]
fstp dword [esp + 0x10]
fld dword [0x100b737c]
fstp dword [esp + 0xc]
fld dword [0x100b75c4]
fstp dword [esp + 8]
fld dword [0x100b75b4]
fstp dword [esp + 4]
fstp dword [esp]
push 0xe
call ecx
fldz
fst dword [esp + 0x2c]
add esp, 0x2c
fld dword [0x100b70e8]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
mov edx, 0x637c60
fld1
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fst dword [esp + 0x10]
fld dword [0x100b7140]
fstp dword [esp + 0xc]
fld dword [0x100b75c8]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x100b75d8]
fstp dword [esp]
push 0xf
call edx
add esp, 0x30
mov esp, ebp
pop ebp
ret
fld dword [0x100b8070]
fstp dword [0x100c97ec]
jmp 0x100110f1