Function at 0x1013cb32
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [0x10a1f7a4]
push ebx
xor ebx, ebx
cmp byte [eax + 0x58], bl
push esi
mov esi, ecx
jne 0x1013ce30
cmp byte [0x10a1f57f], bl
push edi
je 0x1013cce2
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x25
call edi
test ax, ax
jge 0x1013cb7e
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x25
mov ecx, dword [0x10a139cc]
call fcn.10012d5b
jmp 0x1013ce2f
push 0x27
call edi
test ax, ax
jge 0x1013cb95
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x27
jmp 0x1013cb6e
push 0x26
call edi
test ax, ax
jge 0x1013cbac
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x26
jmp 0x1013cb6e
push 0x28
call edi
test ax, ax
jge 0x1013cbc3
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x28
jmp 0x1013cb6e
push 0x57
call edi
test ax, ax
jge 0x1013cbda
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x57
jmp 0x1013cb6e
push 0x53
call edi
test ax, ax
jge 0x1013cbf4
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x53
jmp 0x1013cb6e
push 0x44
call edi
test ax, ax
jge 0x1013cc0e
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x44
jmp 0x1013cb6e
push 0x41
call edi
test ax, ax
jge 0x1013cc28
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x41
jmp 0x1013cb6e
push 0x58
call edi
test ax, ax
jge 0x1013cc42
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x58
jmp 0x1013cb6e
push 0x78
call edi
test ax, ax
jge 0x1013cc5c
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x78
jmp 0x1013cb6e
push 0x51
call edi
test ax, ax
jge 0x1013cc76
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x51
jmp 0x1013cb6e
push 0x45
call edi
test ax, ax
jge 0x1013cc90
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x45
jmp 0x1013cb6e
push 0x5a
call edi
test ax, ax
jge 0x1013ccaa
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x5a
jmp 0x1013cb6e
push 0x43
call edi
test ax, ax
jge 0x1013ccc4
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x43
jmp 0x1013cb6e
push 0x4c
call edi
test ax, ax
jge 0x1013ce2f
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x4c
jmp 0x1013cb6e
mov ecx, dword [0x10a1f6b0]
cmp byte [ecx + 0x2434], bl
je 0x1013ce2f
call fcn.1010fff5
test al, al
je 0x1013ce2f
mov eax, dword [0x10a1f6b0]
cmp byte [eax + 0x13d], bl
jne 0x1013ce2f
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push ebp
push 0x6b
call edi
test ax, ax
mov ebp, 0x10a20350
jge 0x1013cd35
fld dword [esi + 0x98]
fmul dword [0x10199b34]
jmp 0x1013cd4c
push 0x6d
call edi
test ax, ax
jge 0x1013cd57
fld dword [esi + 0x98]
fmul dword [0x10199b34]
fchs
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.10127c22
push 0x25
call edi
test ax, ax
jge 0x1013cd6c
fld dword [esi + 0x98]
fadd st(0), st(0)
fchs
jmp 0x1013cd7d
push 0x27
call edi
test ax, ax
jge 0x1013cd88
fld dword [esi + 0x98]
fadd st(0), st(0)
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.10127128
mov ecx, dword [0x10a1f7a4]
push 0xde
call fcn.100951ef
test al, al
pop ebp
je 0x1013cda9
cmp dword [0x10a19d54], ebx
jne 0x1013ce2f
mov ecx, dword [0x10a1f7a4]
push 0xe8
call fcn.100951ef
test al, al
jne 0x1013ce2f
push 0x57
call edi
test ax, ax
jge 0x1013cddb
fld dword [esi + 0x98]
push ecx
mov ecx, dword [0x10a1f6b0]
fstp dword [esp]
call fcn.10114118
push 0x44
call edi
test ax, ax
jge 0x1013cdef
mov ecx, dword [0x10a1f6b0]
call fcn.101124bb
push 0x41
call edi
test ax, ax
jge 0x1013ce03
mov ecx, dword [0x10a1f6b0]
call fcn.10112537
push 0x79
call edi
test ax, ax
jge 0x1013ce2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esi + 0x300]
mov edx, dword [ecx]
add edx, 0x1f4
cmp eax, edx
jbe 0x1013ce2f
mov dword [ecx], eax
push 0x79
mov ecx, esi
call fcn.1013bf00
pop edi
pop esi
pop ebx
ret