Function at 0x1013c9b3
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [0x10a0b444]
push ebx
xor ebx, ebx
cmp byte [eax + 0x58], bl
push esi
mov esi, ecx
jne 0x1013ccb1
cmp byte [0x10a0b21f], bl
push edi
je 0x1013cb63
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x25
call edi
test ax, ax
jge 0x1013c9ff
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x25
mov ecx, dword [0x109ff66c]
call fcn.10012ec8
jmp 0x1013ccb0
push 0x27
call edi
test ax, ax
jge 0x1013ca16
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x27
jmp 0x1013c9ef
push 0x26
call edi
test ax, ax
jge 0x1013ca2d
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x26
jmp 0x1013c9ef
push 0x28
call edi
test ax, ax
jge 0x1013ca44
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x28
jmp 0x1013c9ef
push 0x57
call edi
test ax, ax
jge 0x1013ca5b
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x57
jmp 0x1013c9ef
push 0x53
call edi
test ax, ax
jge 0x1013ca75
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x53
jmp 0x1013c9ef
push 0x44
call edi
test ax, ax
jge 0x1013ca8f
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x44
jmp 0x1013c9ef
push 0x41
call edi
test ax, ax
jge 0x1013caa9
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x41
jmp 0x1013c9ef
push 0x58
call edi
test ax, ax
jge 0x1013cac3
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x58
jmp 0x1013c9ef
push 0x78
call edi
test ax, ax
jge 0x1013cadd
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x78
jmp 0x1013c9ef
push 0x51
call edi
test ax, ax
jge 0x1013caf7
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x51
jmp 0x1013c9ef
push 0x45
call edi
test ax, ax
jge 0x1013cb11
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x45
jmp 0x1013c9ef
push 0x5a
call edi
test ax, ax
jge 0x1013cb2b
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x5a
jmp 0x1013c9ef
push 0x43
call edi
test ax, ax
jge 0x1013cb45
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x43
jmp 0x1013c9ef
push 0x4c
call edi
test ax, ax
jge 0x1013ccb0
fld dword [esi + 0x98]
push ecx
fstp dword [esp]
push 0x4c
jmp 0x1013c9ef
mov ecx, dword [0x10a0b350]
cmp byte [ecx + 0x2434], bl
je 0x1013ccb0
call fcn.1010fcd5
test al, al
je 0x1013ccb0
mov eax, dword [0x10a0b350]
cmp byte [eax + 0x13d], bl
jne 0x1013ccb0
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push ebp
push 0x6b
call edi
test ax, ax
mov ebp, 0x10a0bff0
jge 0x1013cbb6
fld dword [esi + 0x98]
fmul dword [0x1018b9bc]
jmp 0x1013cbcd
push 0x6d
call edi
test ax, ax
jge 0x1013cbd8
fld dword [esi + 0x98]
fmul dword [0x1018b9bc]
fchs
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.101279e4
push 0x25
call edi
test ax, ax
jge 0x1013cbed
fld dword [esi + 0x98]
fadd st(0), st(0)
fchs
jmp 0x1013cbfe
push 0x27
call edi
test ax, ax
jge 0x1013cc09
fld dword [esi + 0x98]
fadd st(0), st(0)
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.10126eea
mov ecx, dword [0x10a0b444]
push 0xde
call fcn.10094cbf
test al, al
pop ebp
je 0x1013cc2a
cmp dword [0x10a059f4], ebx
jne 0x1013ccb0
mov ecx, dword [0x10a0b444]
push 0xe8
call fcn.10094cbf
test al, al
jne 0x1013ccb0
push 0x57
call edi
test ax, ax
jge 0x1013cc5c
fld dword [esi + 0x98]
push ecx
mov ecx, dword [0x10a0b350]
fstp dword [esp]
call fcn.10113e17
push 0x44
call edi
test ax, ax
jge 0x1013cc70
mov ecx, dword [0x10a0b350]
call fcn.101121ba
push 0x41
call edi
test ax, ax
jge 0x1013cc84
mov ecx, dword [0x10a0b350]
call fcn.10112236
push 0x79
call edi
test ax, ax
jge 0x1013ccb0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esi + 0x300]
mov edx, dword [ecx]
add edx, 0x1f4
cmp eax, edx
jbe 0x1013ccb0
mov dword [ecx], eax
push 0x79
mov ecx, esi
call fcn.1013bd81
pop edi
pop esi
pop ebx
ret