Function at 0x1008d630
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
cmp dword [0x114a05a0], 0
push ebx
push esi
push edi
mov ebx, ecx
je 0x1008e0c1
push 0x39
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x1008e0c1
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1008e0c1
push 2
call esi
mov ecx, eax
call edi
test al, al
jne 0x1008e0c1
cmp dword [ebx + 0x8368], 0
mov edx, 0x637c60
jle 0x1008d948
mov eax, dword [0xe61e18]
cmp eax, dword [ebx + 0x83e8]
jne 0x1008d948
mov ecx, dword [0x10303a60]
mov esi, dword [0x10303a64]
mov edi, dword [0x114a03c0]
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, 0x101e2dc0
mov dword [ebp - 8], esi
add edi, 0xa
push 0x17a
call fcn.10047dc0
push eax
push 1
push 0x50
push esi
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
mov eax, dword [ebx + 0x83ec]
lea esi, [edi + 0x50]
add esp, 0x1c
test eax, eax
jle 0x1008d77c
push eax
push str._d__
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
mov eax, dword [ebp - 4]
mov ecx, 0x101e2dc0
add eax, 0xf
push 0x17c
mov dword [ebp - 8], eax
call fcn.10047dc0
push eax
push 1
push 0x78
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
mov eax, dword [ebx + 0x83f0]
add esp, 0x1c
test eax, eax
jle 0x1008d7d9
push eax
push str._d__
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
mov eax, dword [ebp - 4]
mov ecx, 0x101e2dc0
add eax, 0x19
push 0x17b
mov dword [ebp - 8], eax
call fcn.10047dc0
push eax
push 1
push 0x50
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
mov eax, dword [ebx + 0x83f4]
add esp, 0x1c
test eax, eax
jle 0x1008d838
push eax
push str.1__d
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
jmp 0x1008d857
push 0x1011e5d8
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff2d5fe1
push 0x102de7a0
call fcn.10087460
add esp, 0x1c
mov eax, dword [ebp - 4]
mov ecx, 0x101e2dc0
add eax, 0x23
push 0x17d
mov dword [ebp - 8], eax
call fcn.10047dc0
push eax
push 1
push 0x50
push dword [ebp - 8]
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
mov eax, dword [ebx + 0x83f8]
add esp, 0x1c
test eax, eax
jle 0x1008d8b6
push eax
push str.1__d
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
jmp 0x1008d8d5
push 0x1011e5d8
push 1
push 0x28
push dword [ebp - 8]
push esi
push 0xff2d5fe1
push 0x102de7a0
call fcn.10087460
add esp, 0x1c
mov esi, dword [ebp - 4]
mov ecx, 0x101e2dc0
push 0x182
add esi, 0x2d
call fcn.10047dc0
push eax
push 1
push 0x50
push esi
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
mov ecx, dword [ebx + 0x83fc]
add esp, 0x1c
test ecx, ecx
mov edx, 0x1011e5dc
mov eax, 0x1011e5d8
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 0x102de7a0
call fcn.10087460
add esp, 0x1c
mov edx, 0x637c60
dec dword [ebx + 0x8368]
mov eax, dword [ebx + 0x836c]
test eax, eax
js 0x1008e0c1
cmp eax, dword [0xe61e18]
jne 0x1008e0c1
mov esi, dword [0x10303a48]
mov edi, dword [0x10303a44]
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 - 4], 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 - 0xc], 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 0x1008da71
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1008da71
mov dword [ebx + 0x836c], 0xffffffff
mov ecx, ebx
call fcn.1008d430
mov edi, dword [ebp - 4]
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, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push dword [0xe8c58c]
mov eax, 0x41fe10
call eax
mov edx, 0x420120
mov ecx, eax
call edx
push 0
mov eax, 0x41fe10
call eax
mov edx, 0x4200f0
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
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
mov esi, dword [0x10303a50]
cmp dword [ebx + 0x83d0], eax
mov edi, dword [0x10303a4c]
setg al
mov dword [ebp - 0x18], edi
add eax, 7
mov dword [ebp - 0x14], esi
cmp dword [ebx + 0x83d8], 0
push 0x32
push 0x32
push dword [ebp - 0xc]
lea ecx, [eax + 1]
mov dword [ebp - 0x1c], esi
push dword [ebp - 8]
cmovle ecx, eax
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 - 0x10], eax
mov eax, 0x790b10
mov dword [ebp - 4], ecx
call eax
add esp, 0x10
cmp al, 1
jne 0x1008e0c1
push 1
mov eax, 0x635fd0
call eax
mov dword [esp], 0x3f4ccccd
sub esp, 0xc
mov dword [esp + 8], 0x3f000000
mov dword [esp + 4], 0x3f000000
mov dword [esp], 0x3f000000
call dword [sym.imp.OPENGL32.dll_glColor4f]
movd xmm1, edi
add esi, 0xfffffffd
cvtdq2ps xmm1, xmm1
push 0
sub esp, 0x14
mov eax, 0x6378a0
movd xmm0, esi
subss xmm1, dword [0x1011fb4c]
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 - 4]
add esp, 0x18
cmp dword [ebp - 0x10], 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 [0x1011fec8]
movss dword [esp + 0xc], xmm0
movss dword [ebp - 0x10], 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 - 0x10]
add esp, 0x18
mov esi, dword [ebp - 0x14]
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 [0x1011fec8]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x1012052c]
addss xmm0, dword [0x1011fb4c]
movss dword [esp], xmm0
call eax
add esp, 0x18
lea eax, [edi + esi]
movd xmm0, eax
mov eax, 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 eax
add esp, 8
mov dword [esp + 0xc], 0x3f666666
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor4f]
movd xmm0, edi
lea eax, [esi - 2]
mov edi, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x14
addss xmm0, dword [0x1011fd88]
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm0
movd xmm0, eax
mov eax, 0x6378a0
cvtdq2ps xmm0, xmm0
mov dword [esp + 8], 0x430c0000
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call eax
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 dword [sym.imp.OPENGL32.dll_glColor4f]
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 dword [sym.imp.OPENGL32.dll_glColor4f]
lea eax, [ebx + 0x8370]
mov ecx, 0x101e2dc0
push eax
push 0x17f
call fcn.10047dc0
push eax
push 3
push 0x8c
lea eax, [esi + 2]
push eax
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
mov ecx, 0x101e2dc0
push 0x179
call fcn.10047dc0
push eax
push 3
push 0x8c
lea eax, [esi + 0x16]
push eax
push edi
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
mov eax, dword [ebx + 0x83d0]
add esp, 0x1c
add esi, 0x28
test eax, eax
jle 0x1008df5a
push eax
push 0x17a
mov ecx, 0x101e2dc0
call fcn.10047dc0
mov esi, dword [ebp - 0x1c]
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [esi + 0x2a]
push eax
push edi
push 0xff8be100
push 0x102de7a0
call fcn.10087460
add esp, 0x24
add esi, 0x32
mov eax, dword [ebx + 0x83d8]
test eax, eax
jle 0x1008df9b
push eax
push 0x17b
mov ecx, 0x101e2dc0
call fcn.10047dc0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [esi + 2]
push eax
push edi
push 0xff8be100
push 0x102de7a0
call fcn.10087460
add esp, 0x24
add esi, 0xa
mov eax, dword [ebx + 0x83d4]
test eax, eax
jle 0x1008dfdc
push eax
push 0x17c
mov ecx, 0x101e2dc0
call fcn.10047dc0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [esi + 2]
push eax
push edi
push 0xff8be100
push 0x102de7a0
call fcn.10087460
add esp, 0x24
add esi, 0xa
mov eax, dword [ebx + 0x83dc]
test eax, eax
jle 0x1008e01d
push eax
push 0x17d
mov ecx, 0x101e2dc0
call fcn.10047dc0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [esi + 2]
push eax
push edi
push 0xff8be100
push 0x102de7a0
call fcn.10087460
add esp, 0x24
add esi, 0xa
mov eax, dword [ebx + 0x83e0]
test eax, eax
jle 0x1008e05e
push eax
push 0x17e
mov ecx, 0x101e2dc0
call fcn.10047dc0
push eax
push str._s__d__
push 3
push 0x8c
lea eax, [esi + 2]
push eax
push edi
push 0xff8be100
push 0x102de7a0
call fcn.10087460
add esp, 0x24
add esi, 0xa
lea eax, [ebx + 0x83b9]
mov ecx, 0x101e2dc0
push eax
push 0x180
call fcn.10047dc0
push eax
push 3
push 0x8c
lea eax, [esi + 0xc]
push eax
push edi
push 0xffffffffffffffff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
mov ecx, 0x101e2dc0
push dword [ebx + 0x83e4]
push 0x181
call fcn.10047dc0
push eax
push 3
push 0x8c
lea eax, [esi + 0x16]
push eax
push edi
push 0xffffffffffffffff
push 0x102de7a0
call fcn.10087460
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret