Function at 0x1007e0b0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp dword [0x10824f58], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x20], ebx
je 0x1007eb04
push 0x39
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x1007eb04
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1007eb04
push 2
call esi
mov ecx, eax
call edi
test al, al
jne 0x1007eb04
cmp dword [ebx + 0x8368], 0
mov edx, 0x637c60
jle 0x1007e3cb
mov eax, dword [0xe61e18]
cmp eax, dword [ebx + 0x83e8]
jne 0x1007e3cb
mov ecx, dword [0x102dfa20]
mov esi, dword [0x102dfa24]
mov edi, dword [0x10824d7c]
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, 0x101c3ae8
mov dword [ebp - 0xc], esi
add edi, 0xa
push 0x17a
call fcn.100427e0
push eax
push 1
push 0x50
push esi
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
mov eax, dword [ebx + 0x83ec]
lea esi, [edi + 0x50]
add esp, 0x1c
test eax, eax
jle 0x1007e1ff
push eax
push str._d__
push 1
push 0x28
push dword [ebp - 0xc]
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
add esp, 0x20
mov eax, dword [ebp - 4]
mov ecx, 0x101c3ae8
add eax, 0xf
push 0x17c
mov dword [ebp - 8], eax
call fcn.100427e0
push eax
push 1
push 0x78
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
mov eax, dword [ebx + 0x83f0]
add esp, 0x1c
test eax, eax
jle 0x1007e25c
push eax
push str._d__
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
add esp, 0x20
mov eax, dword [ebp - 4]
mov ecx, 0x101c3ae8
add eax, 0x19
push 0x17b
mov dword [ebp - 8], eax
call fcn.100427e0
push eax
push 1
push 0x50
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
mov eax, dword [ebx + 0x83f4]
add esp, 0x1c
test eax, eax
jle 0x1007e2bb
push eax
push str.1__d
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
add esp, 0x20
jmp 0x1007e2da
push 0x10100178
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff2d5fe1
push 0x102ba770
call fcn.10077f40
add esp, 0x1c
mov eax, dword [ebp - 4]
mov ecx, 0x101c3ae8
add eax, 0x23
push 0x17d
mov dword [ebp - 8], eax
call fcn.100427e0
push eax
push 1
push 0x50
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
mov eax, dword [ebx + 0x83f8]
add esp, 0x1c
test eax, eax
jle 0x1007e339
push eax
push str.1__d
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
add esp, 0x20
jmp 0x1007e358
push 0x10100178
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff2d5fe1
push 0x102ba770
call fcn.10077f40
add esp, 0x1c
mov esi, dword [ebp - 4]
mov ecx, 0x101c3ae8
push 0x182
add esi, 0x2d
call fcn.100427e0
push eax
push 1
push 0x50
push esi
push edi
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
mov ecx, dword [ebx + 0x83fc]
add esp, 0x1c
test ecx, ecx
mov edx, 0x1010017c
mov eax, 0x10100178
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 0x102ba770
call fcn.10077f40
add esp, 0x1c
mov edx, 0x637c60
dec dword [ebx + 0x8368]
mov eax, dword [ebx + 0x836c]
test eax, eax
js 0x1007eb04
cmp eax, dword [0xe61e18]
jne 0x1007eb04
mov esi, dword [0x102dfa08]
mov edi, dword [0x102dfa04]
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 0x1007e4f4
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1007e4f4
mov dword [ebx + 0x836c], 0xffffffff
mov ecx, ebx
call fcn.1007deb0
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 [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 - 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 0x1007eb04
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 [0x1010169c]
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 [0x10101a18]
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 [0x10101a18]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x10102048]
addss xmm0, dword [0x1010169c]
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 [0x101018d8]
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.100427e0
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.10077f40
add esp, 0x20
mov ecx, 0x101c3ae8
push 0x179
call fcn.100427e0
push eax
push 3
push 0x8c
lea eax, [edi + 0x16]
push eax
push ebx
push 0xff19bdff
push 0x102ba770
call fcn.10077f40
mov esi, dword [ebp - 0x20]
add esp, 0x1c
add edi, 0x28
mov eax, dword [esi + 0x83d0]
test eax, eax
jle 0x1007e99d
push eax
push 0x17a
mov ecx, 0x101c3ae8
call fcn.100427e0
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.10077f40
add esp, 0x24
add edi, 0x32
mov eax, dword [esi + 0x83d8]
test eax, eax
jle 0x1007e9de
push eax
push 0x17b
mov ecx, 0x101c3ae8
call fcn.100427e0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077f40
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83d4]
test eax, eax
jle 0x1007ea1f
push eax
push 0x17c
mov ecx, 0x101c3ae8
call fcn.100427e0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077f40
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83dc]
test eax, eax
jle 0x1007ea60
push eax
push 0x17d
mov ecx, 0x101c3ae8
call fcn.100427e0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077f40
add esp, 0x24
add edi, 0xa
mov eax, dword [esi + 0x83e0]
test eax, eax
jle 0x1007eaa1
push eax
push 0x17e
mov ecx, 0x101c3ae8
call fcn.100427e0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [edi + 2]
push eax
push ebx
push 0xff8be100
push 0x102ba770
call fcn.10077f40
add esp, 0x24
add edi, 0xa
lea eax, [esi + 0x83b9]
mov ecx, 0x101c3ae8
push eax
push 0x180
call fcn.100427e0
push eax
push 3
push 0x8c
lea eax, [edi + 0xc]
push eax
push ebx
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077f40
add esp, 0x20
mov ecx, 0x101c3ae8
push dword [esi + 0x83e4]
push 0x181
call fcn.100427e0
push eax
push 3
push 0x8c
lea eax, [edi + 0x16]
push eax
push ebx
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077f40
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret