Function at 0x1013cb53
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [0x10a0c444]
push ebx
xor ebx, ebx
cmp byte [eax + 0x58], bl
push esi
mov esi, ecx
jne 0x1013ce51
cmp byte [0x10a0c21f], bl
push edi
je 0x1013cd03
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x25
call edi
test ax, ax
jge 0x1013cb9f
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x25
mov ecx, dword [0x10a0066c]
call fcn.10012c70
jmp 0x1013ce50
push 0x27
call edi
test ax, ax
jge 0x1013cbb6
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x27
jmp 0x1013cb8f
push 0x26
call edi
test ax, ax
jge 0x1013cbcd
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x26
jmp 0x1013cb8f
push 0x28
call edi
test ax, ax
jge 0x1013cbe4
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x28
jmp 0x1013cb8f
push 0x57
call edi
test ax, ax
jge 0x1013cbfb
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x57
jmp 0x1013cb8f
push 0x53
call edi
test ax, ax
jge 0x1013cc15
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x53
jmp 0x1013cb8f
push 0x44
call edi
test ax, ax
jge 0x1013cc2f
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x44
jmp 0x1013cb8f
push 0x41
call edi
test ax, ax
jge 0x1013cc49
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x41
jmp 0x1013cb8f
push 0x58
call edi
test ax, ax
jge 0x1013cc63
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x58
jmp 0x1013cb8f
push 0x78
call edi
test ax, ax
jge 0x1013cc7d
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x78
jmp 0x1013cb8f
push 0x51
call edi
test ax, ax
jge 0x1013cc97
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x51
jmp 0x1013cb8f
push 0x45
call edi
test ax, ax
jge 0x1013ccb1
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x45
jmp 0x1013cb8f
push 0x5a
call edi
test ax, ax
jge 0x1013cccb
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x5a
jmp 0x1013cb8f
push 0x43
call edi
test ax, ax
jge 0x1013cce5
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x43
jmp 0x1013cb8f
push 0x4c
call edi
test ax, ax
jge 0x1013ce50
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x4c
jmp 0x1013cb8f
mov ecx, dword [0x10a0c350]
cmp byte [ecx + 0x2434], bl
je 0x1013ce50
call fcn.10110004
test al, al
je 0x1013ce50
mov eax, dword [0x10a0c350]
cmp byte [eax + 0x13d], bl
jne 0x1013ce50
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push ebp
push 0x6b
call edi
test ax, ax
mov ebp, 0x10a0cff0
jge 0x1013cd56
fld dword [esi + 0x98]
fmul dword [0x1018ca04]
jmp 0x1013cd6d
push 0x6d
call edi
test ax, ax
jge 0x1013cd78
fld dword [esi + 0x98]
fmul dword [0x1018ca04]
fchs
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.10127c43
push 0x25
call edi
test ax, ax
jge 0x1013cd8d
fld dword [esi + 0x98]
fadd st(0), st(0)
fchs
jmp 0x1013cd9e
push 0x27
call edi
test ax, ax
jge 0x1013cda9
fld dword [esi + 0x98]
fadd st(0), st(0)
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.10127149
mov ecx, dword [0x10a0c444]
push 0xde
call fcn.100951e2
test al, al
pop ebp
je 0x1013cdca
cmp dword [0x10a069f4], ebx
jne 0x1013ce50
mov ecx, dword [0x10a0c444]
push 0xe8
call fcn.100951e2
test al, al
jne 0x1013ce50
push 0x57
call edi
test ax, ax
jge 0x1013cdfc
fld dword [esi + 0x98]
push ecx
mov ecx, dword [0x10a0c350]
fstp dword [esp]
call fcn.1011410e
push 0x44
call edi
test ax, ax
jge 0x1013ce10
mov ecx, dword [0x10a0c350]
call fcn.101124b1
push 0x41
call edi
test ax, ax
jge 0x1013ce24
mov ecx, dword [0x10a0c350]
call fcn.1011252d
push 0x79
call edi
test ax, ax
jge 0x1013ce50
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esi + 0x300]
mov edx, dword [ecx]
add edx, 0x1f4
cmp eax, edx
jbe 0x1013ce50
mov dword [ecx], eax
push 0x79
mov ecx, esi
call fcn.1013bf21
pop edi
pop esi
pop ebx
ret