Function at 0x1007dfc0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp dword [0x10824f48], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x20], ebx
je 0x1007e9f8
push 0x39
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x1007e9f8
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1007e9f8
push 2
call esi
mov ecx, eax
call edi
test al, al
jne 0x1007e9f8
cmp dword [ebx + 0x8368], 0
mov ecx, 0x637c60
jle 0x1007e2bf
mov eax, dword [0xe61e18]
cmp eax, dword [ebx + 0x83e8]
jne 0x1007e2bf
mov esi, dword [0x10824d6c]
push ecx
mov dword [esp], 0
add esi, 0x104
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
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
mov dword [esp + 4], 0x43200000
movss dword [esp], xmm0
push 0xf091
call ecx
add esp, 0x30
mov ecx, 0x101c3ae8
add esi, 0xa
push 0x17a
call fcn.100426f0
push eax
push 1
push 0x50
push 0xa5
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov eax, dword [ebx + 0x83ec]
lea edi, [esi + 0x50]
add esp, 0x1c
test eax, eax
jle 0x1007e0ff
push eax
push str._d__
push 1
push 0x28
push 0xa5
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
push 0x17c
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push 1
push 0x78
push 0xaf
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov eax, dword [ebx + 0x83f0]
add esp, 0x1c
test eax, eax
jle 0x1007e157
push eax
push str._d__
push 1
push 0x28
push 0xaf
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
push 0x17b
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push 1
push 0x50
push 0xb9
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov eax, dword [ebx + 0x83f4]
add esp, 0x1c
test eax, eax
jle 0x1007e1b1
push eax
push str.1__d
push 1
push 0x28
push 0xb9
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
jmp 0x1007e1d2
push 0x1010016c
push 1
push 0x28
push 0xb9
push edi
push 0xff2d5fe1
push 0x102ba770
call fcn.10077e60
add esp, 0x1c
push 0x17d
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push 1
push 0x50
push 0xc3
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov eax, dword [ebx + 0x83f8]
add esp, 0x1c
test eax, eax
jle 0x1007e22c
push eax
push str.1__d
push 1
push 0x28
push 0xc3
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
jmp 0x1007e24d
push 0x1010016c
push 1
push 0x28
push 0xc3
push edi
push 0xff2d5fe1
push 0x102ba770
call fcn.10077e60
add esp, 0x1c
push 0x182
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push 1
push 0x50
push 0xcd
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov ecx, dword [ebx + 0x83fc]
add esp, 0x1c
test ecx, ecx
mov edx, 0x10100170
mov eax, 0x1010016c
cmovg eax, edx
mov edx, 0xff2d5fe1
push eax
push 1
push 0x28
push 0xcd
mov eax, 0xff77df01
push edi
cmovle eax, edx
push eax
push 0x102ba770
call fcn.10077e60
add esp, 0x1c
mov ecx, 0x637c60
dec dword [ebx + 0x8368]
mov eax, dword [ebx + 0x836c]
test eax, eax
js 0x1007e9f8
cmp eax, dword [0xe61e18]
jne 0x1007e9f8
mov esi, dword [0x102dfa08]
mov edi, dword [0x102dfa04]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [ebp - 4], 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 ecx
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 0x1007e3e8
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1007e3e8
mov dword [ebx + 0x836c], 0xffffffff
mov ecx, ebx
call fcn.1007ddc0
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
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 [0x102dfa10]
setg al
mov edi, dword [0x102dfa0c]
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 - 8], esi
push dword [ebp - 4]
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 0x1007e9f8
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 [0x10101694]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x430d0000
movss dword [ebp - 4], 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 [0x10101a10]
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 - 4]
movss dword [esp], xmm0
call eax
movss xmm0, dword [ebp - 0x18]
add esp, 0x18
mov esi, dword [ebp - 8]
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 [0x10101a10]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102040]
addss xmm0, dword [0x10101694]
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 - 4]
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 - 8]
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x14
lea eax, [edi - 2]
addss xmm0, dword [0x101018d0]
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, 0x101c3ae8
push 0x17f
call fcn.100426f0
mov ebx, dword [ebp - 0xc]
push eax
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
mov ecx, 0x101c3ae8
push 0x179
call fcn.100426f0
push eax
push 3
push 0x8c
lea eax, [edi + 0x16]
push eax
push ebx
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov esi, dword [ebp - 0x20]
add esp, 0x1c
add edi, 0x28
mov eax, dword [esi + 0x83d0]
test eax, eax
jle 0x1007e891
push eax
push 0x17a
mov ecx, 0x101c3ae8
call fcn.100426f0
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 0x102ba770
call fcn.10077e60
add esp, 0x24
add edi, 0x32
mov eax, dword [esi + 0x83d8]
test eax, eax
jle 0x1007e8d2
push eax
push 0x17b
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077e60
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83d4]
test eax, eax
jle 0x1007e913
push eax
push 0x17c
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077e60
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83dc]
test eax, eax
jle 0x1007e954
push eax
push 0x17d
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077e60
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83e0]
test eax, eax
jle 0x1007e995
push eax
push 0x17e
mov ecx, 0x101c3ae8
call fcn.100426f0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077e60
add esp, 0x24
add edi, 0xa
lea eax, [esi + 0x83b9]
mov ecx, 0x101c3ae8
push eax
push 0x180
call fcn.100426f0
push eax
push 3
push 0x8c
lea eax, [edi + 0xc]
push eax
push ebx
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
mov ecx, 0x101c3ae8
push dword [esi + 0x83e4]
push 0x181
call fcn.100426f0
push eax
push 3
push 0x8c
lea eax, [edi + 0x16]
push eax
push ebx
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret