Function at 0x100804e0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp dword [0x11479430], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x20], ebx
je 0x10080f34
push 0x39
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x10080f34
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x10080f34
push 2
call esi
mov ecx, eax
call edi
test al, al
jne 0x10080f34
cmp dword [ebx + 0x8368], 0
mov edx, 0x637c60
jle 0x100807fb
mov eax, dword [0xe61e18]
cmp eax, dword [ebx + 0x83e8]
jne 0x100807fb
mov ecx, dword [0x102e19c0]
mov esi, dword [0x102e19c4]
mov edi, dword [0x11479250]
push ecx
mov dword [esp], 0
add edi, ecx
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [ebp - 4], esi
mov dword [esp + 0x1c], 0x3f547ae1
mov dword [esp + 0x18], 0x3f6b851f
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42700000
mov dword [esp + 8], 0x42f00000
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0xf091
call edx
add esp, 0x30
add esi, 5
mov ecx, 0x101c5a88
mov dword [ebp - 0xc], esi
add edi, 0xa
push 0x17a
call fcn.10043560
push eax
push 1
push 0x50
push esi
push edi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
mov eax, dword [ebx + 0x83ec]
lea esi, [edi + 0x50]
add esp, 0x1c
test eax, eax
jle 0x1008062f
push eax
push str._d__
push 1
push 0x28
push dword [ebp - 0xc]
push esi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
mov eax, dword [ebp - 4]
mov ecx, 0x101c5a88
add eax, 0xf
push 0x17c
mov dword [ebp - 8], eax
call fcn.10043560
push eax
push 1
push 0x78
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
mov eax, dword [ebx + 0x83f0]
add esp, 0x1c
test eax, eax
jle 0x1008068c
push eax
push str._d__
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
mov eax, dword [ebp - 4]
mov ecx, 0x101c5a88
add eax, 0x19
push 0x17b
mov dword [ebp - 8], eax
call fcn.10043560
push eax
push 1
push 0x50
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
mov eax, dword [ebx + 0x83f4]
add esp, 0x1c
test eax, eax
jle 0x100806eb
push eax
push str.1__d
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
jmp 0x1008070a
push 0x101021a8
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff2d5fe1
push 0x102bc710
call fcn.1007a330
add esp, 0x1c
mov eax, dword [ebp - 4]
mov ecx, 0x101c5a88
add eax, 0x23
push 0x17d
mov dword [ebp - 8], eax
call fcn.10043560
push eax
push 1
push 0x50
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
mov eax, dword [ebx + 0x83f8]
add esp, 0x1c
test eax, eax
jle 0x10080769
push eax
push str.1__d
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
jmp 0x10080788
push 0x101021a8
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff2d5fe1
push 0x102bc710
call fcn.1007a330
add esp, 0x1c
mov esi, dword [ebp - 4]
mov ecx, 0x101c5a88
push 0x182
add esi, 0x2d
call fcn.10043560
push eax
push 1
push 0x50
push esi
push edi
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
mov ecx, dword [ebx + 0x83fc]
add esp, 0x1c
test ecx, ecx
mov edx, 0x101021ac
mov eax, 0x101021a8
cmovg eax, edx
mov edx, 0xff2d5fe1
push eax
push 1
push 0x28
push esi
lea eax, [edi + 0x50]
push eax
mov eax, 0xff77df01
cmovle eax, edx
push eax
push 0x102bc710
call fcn.1007a330
add esp, 0x1c
mov edx, 0x637c60
dec dword [ebx + 0x8368]
mov eax, dword [ebx + 0x836c]
test eax, eax
js 0x10080f34
cmp eax, dword [0xe61e18]
jne 0x10080f34
mov esi, dword [0x102e19a8]
mov edi, dword [0x102e19a4]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [ebp - 8], edi
lea eax, [esi - 0x24]
mov dword [ebp - 0xc], esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3f400000
mov dword [esp + 0x18], 0x3f6b851f
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42200000
mov dword [esp + 8], 0x42480000
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x10], eax
movss dword [esp], xmm0
push 0xf091
call edx
mov dword [esp + 0x2c], 0
add esp, 0x2c
add esi, 0xffffffd8
add edi, 0x26
mov eax, 0x637c60
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3f000000
mov dword [esp + 0x18], 0x3f000000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41800000
mov dword [esp + 8], 0x41800000
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ec5
call eax
push 0x10
push 0x10
push esi
push edi
mov eax, 0x790b10
call eax
add esp, 0x40
cmp al, 1
jne 0x10080924
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10080924
mov dword [ebx + 0x836c], 0xffffffff
mov ecx, ebx
call fcn.100802e0
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
lea eax, [edi - 0x1e]
movd xmm0, eax
lea eax, [esi + 0xa]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41f00000
mov dword [esp + 8], 0x41f00000
movss dword [esp + 4], xmm0
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0xf092
call eax
mov dword [esp + 0x2c], 0
lea eax, [edi + 4]
add esp, 0x2c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [esi - 3]
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f666666
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x42600000
movss dword [esp + 4], xmm0
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7a0c
call eax
add esp, 0x30
mov eax, 0x41fe10
push dword [0xe8c58c]
call eax
mov edx, 0x420120
mov ecx, eax
call edx
push 0xff
push 0xff
push 0
push 0xd9
mov eax, 0x41fe10
call eax
mov edx, 0x420040
mov ecx, eax
call edx
push 0
push 3
push 0
lea eax, [ebx + 0x8370]
push 0x32
push eax
mov dword [ebp - 0x1c], eax
lea eax, [edi + 7]
push eax
lea eax, [esi + 1]
push eax
mov eax, 0x41fe10
call eax
mov edx, 0x420150
mov ecx, eax
call edx
xor eax, eax
cmp dword [ebx + 0x83d0], eax
mov esi, dword [0x102e19b0]
setg al
mov edi, dword [0x102e19ac]
add eax, 7
mov dword [ebp - 0xc], edi
cmp dword [ebx + 0x83d8], 0
push 0x32
push 0x32
push dword [ebp - 0x10]
lea ecx, [eax + 1]
mov dword [ebp - 4], esi
push dword [ebp - 8]
cmovle ecx, eax
mov dword [ebp - 0x24], esi
cmp dword [ebx + 0x83d4], 0
lea eax, [ecx + 1]
cmovle eax, ecx
cmp dword [ebx + 0x83dc], 0
lea ecx, [eax + 1]
cmovle ecx, eax
mov eax, dword [ebx + 0x83e0]
mov dword [ebp - 0x18], eax
mov eax, 0x790b10
mov dword [ebp - 0x14], ecx
call eax
add esp, 0x10
cmp al, 1
jne 0x10080f34
push 1
mov eax, 0x635fd0
call eax
mov ebx, dword [sym.imp.OPENGL32.dll_glColor4f]
mov dword [esp], 0x3f4ccccd
sub esp, 0xc
mov dword [esp + 8], 0x3f000000
mov dword [esp + 4], 0x3f000000
mov dword [esp], 0x3f000000
call ebx
movd xmm1, edi
add esi, 0xfffffffd
cvtdq2ps xmm1, xmm1
push 0
sub esp, 0x14
mov eax, 0x6378a0
movd xmm0, esi
subss xmm1, dword [0x101036cc]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x430d0000
movss dword [ebp - 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call eax
mov ecx, dword [ebp - 0x14]
add esp, 0x18
cmp dword [ebp - 0x18], 0
lea eax, [ecx + 1]
cmovle eax, ecx
imul edi, eax, 0xb
mov eax, 0x6378a0
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x10103a48]
movss dword [esp + 0xc], xmm0
movss dword [ebp - 0x18], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], 0x3f800000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
call eax
movss xmm0, dword [ebp - 0x18]
add esp, 0x18
mov esi, dword [ebp - 4]
mov eax, 0x6378a0
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], 0x3f800000
subss xmm0, dword [0x10103a48]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x10104098]
addss xmm0, dword [0x101036cc]
movss dword [esp], xmm0
call eax
add esp, 0x18
lea eax, [edi + esi]
movd xmm0, eax
mov esi, 0x6378a0
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x430e0000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
call esi
add esp, 8
mov dword [esp + 0xc], 0x3f666666
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
movd xmm0, edi
mov edi, dword [ebp - 4]
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x14
lea eax, [edi - 2]
addss xmm0, dword [0x10103908]
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], 0x430c0000
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0xc]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call esi
mov eax, 0x636070
call eax
add esp, 8
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call ebx
push 0
mov eax, 0x635fd0
call eax
mov dword [esp], 0x3f800000
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call ebx
push dword [ebp - 0x1c]
mov ecx, 0x101c5a88
push 0x17f
call fcn.10043560
mov ebx, dword [ebp - 0xc]
push eax
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
mov ecx, 0x101c5a88
push 0x179
call fcn.10043560
push eax
push 3
push 0x8c
lea eax, [edi + 0x16]
push eax
push ebx
push 0xff19bdff
push 0x102bc710
call fcn.1007a330
mov esi, dword [ebp - 0x20]
add esp, 0x1c
add edi, 0x28
mov eax, dword [esi + 0x83d0]
test eax, eax
jle 0x10080dcd
push eax
push 0x17a
mov ecx, 0x101c5a88
call fcn.10043560
mov edi, dword [ebp - 0x24]
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 0x2a]
push eax
push ebx
push 0xff8be100
push 0x102bc710
call fcn.1007a330
add esp, 0x24
add edi, 0x32
mov eax, dword [esi + 0x83d8]
test eax, eax
jle 0x10080e0e
push eax
push 0x17b
mov ecx, 0x101c5a88
call fcn.10043560
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102bc710
call fcn.1007a330
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83d4]
test eax, eax
jle 0x10080e4f
push eax
push 0x17c
mov ecx, 0x101c5a88
call fcn.10043560
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102bc710
call fcn.1007a330
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83dc]
test eax, eax
jle 0x10080e90
push eax
push 0x17d
mov ecx, 0x101c5a88
call fcn.10043560
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102bc710
call fcn.1007a330
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83e0]
test eax, eax
jle 0x10080ed1
push eax
push 0x17e
mov ecx, 0x101c5a88
call fcn.10043560
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102bc710
call fcn.1007a330
add esp, 0x24
add edi, 0xa
lea eax, [esi + 0x83b9]
mov ecx, 0x101c5a88
push eax
push 0x180
call fcn.10043560
push eax
push 3
push 0x8c
lea eax, [edi + 0xc]
push eax
push ebx
push 0xffffffffffffffff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
mov ecx, 0x101c5a88
push dword [esi + 0x83e4]
push 0x181
call fcn.10043560
push eax
push 3
push 0x8c
lea eax, [edi + 0x16]
push eax
push ebx
push 0xffffffffffffffff
push 0x102bc710
call fcn.1007a330
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret