Function at 0x100039e0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x100250b4]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100285e4], 1
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
jne 0x10003a19
push 0x71
call edi
test ax, ax
je 0x10003a19
mov eax, dword [0x10028610]
mov dword [eax + 0xd2b44], 0
cmp dword [0x10026884], 1
mov ecx, dword [0x100285e8]
jne 0x10003a32
mov dword [ecx + 0x1294], 0x3f666666
cmp dword [0x10026674], 1
jne 0x10003a54
push 0x72
call edi
mov ecx, dword [0x100285e8]
test ax, ax
je 0x10003a54
mov dword [ecx + 0x1348], 0
cmp dword [0x1002682c], 1
jne 0x10003a67
mov dword [ecx + 0x1240], 0
cmp dword [0x1002681c], 1
jne 0x10003a98
push 0x47
call edi
mov ecx, dword [0x100285e8]
test ax, ax
je 0x10003a98
mov eax, dword [0x10028610]
mov dword [eax + 0x1108], 0x3f800000
mov dword [ecx + 0x122d], 1
cmp dword [0x10026828], 1
jne 0x10003ac9
push 0x46
call edi
mov ecx, dword [0x100285e8]
test ax, ax
je 0x10003ac9
mov eax, dword [0x10028610]
mov dword [eax + 0x1108], 1
mov dword [ecx + 0x122d], 1
cmp dword [0x100285e0], 1
jne 0x10003adc
mov dword [ecx + 0x13ec], 0
cmp dword [0x10028604], 1
jne 0x10003aef
mov dword [ecx + 0x3a4], 0
cmp dword [0x10028614], 1
jne 0x10003b33
push 0x55
call edi
mov ecx, dword [0x100285e8]
test ax, ax
je 0x10003b11
mov dword [ecx + 0x1344], 0xbf800000
cmp dword [0x10028614], 1
jne 0x10003b33
push 0x59
call edi
mov ecx, dword [0x100285e8]
test ax, ax
je 0x10003b33
mov dword [ecx + 0x1344], 0
cmp dword [0x10026820], 1
jne 0x10003b55
push 0x42
call edi
mov ecx, dword [0x100285e8]
test ax, ax
je 0x10003b55
mov dword [ecx + 0x138c], 1
cmp dword [0x10026868], 1
jne 0x10003b68
mov dword [ecx + 0x130c], 0x43e10000
cmp dword [0x1002688c], 1
jne 0x10003b7b
mov dword [ecx + 0x15c8], 1
cmp dword [0x10026814], 1
jne 0x10003c39
push 0x56
call edi
test ax, ax
je 0x10003c33
mov esi, dword [0x100285e8]
movss xmm0, dword [esi + 0x1400]
subss xmm0, dword [0x10021fb8]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x14], eax
mulss xmm0, dword [0x10021f84]
cvtps2pd xmm1, xmm0
movq xmm0, qword [esi + 0x24]
movq qword [ebp - 0x1c], xmm0
movaps xmm0, xmm1
movsd qword [ebp - 0x28], xmm1
call fcn.100197c0
movss xmm1, dword [ebp - 0x1c]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
xorps xmm0, xmm0
mulss xmm2, dword [0x10021f8c]
subss xmm1, xmm2
movss dword [ebp - 0x10], xmm1
movss xmm1, dword [ebp - 0x18]
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x28]
movss dword [ebp - 0xc], xmm1
call fcn.10019980
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
push ecx
mov ecx, esi
movss xmm0, dword [ebp - 0x14]
mulss xmm1, dword [0x10021f8c]
subss xmm0, xmm1
movss dword [ebp - 8], xmm0
call dword [eax + 0x34]
mov ecx, dword [0x100285e8]
cmp dword [0x100285d8], 1
jne 0x10003c60
mov dword [ecx + 0x3ec], 0
mov dword [ecx + 0x3f0], 0
mov dword [ecx + 0x2f8], 0
cmp dword [0x1002683c], 1
jne 0x10003cab
test ecx, ecx
je 0x10003cab
push 0x20
call edi
test ax, ax
mov eax, dword [0x1002683c]
je 0x10003c92
cmp eax, 1
jne 0x10003c92
mov ecx, dword [0x100285e8]
mov dword [ecx + 0x136c], 0x41a00000
jmp 0x10003cab
mov ecx, dword [0x100285e8]
test ecx, ecx
je 0x10003cab
cmp eax, 1
jne 0x10003cab
mov dword [ecx + 0x136c], 0
mov eax, dword [ecx + 0x1254]
test eax, eax
je 0x10003f39
cmp dword [0x10026680], 1
jne 0x10003ccc
mov dword [eax + 0x20c], 0x3f800000
cmp dword [0x10026874], 1
jne 0x10003ce5
mov eax, dword [ecx + 0x1254]
mov dword [eax + 0x2f8], 0x3f800000
cmp dword [0x1002861c], 1
jne 0x10003d1c
mov eax, dword [ecx + 0x1254]
test eax, eax
je 0x10003d05
mov eax, dword [eax + 0x24]
mov dword [eax + 0x84], 0
mov eax, dword [ecx + 0x1258]
test eax, eax
je 0x10003d1c
mov eax, dword [eax + 0x24]
mov dword [eax + 0x84], 0
cmp dword [0x10026894], 1
jne 0x10003d53
mov eax, dword [ecx + 0x1254]
test eax, eax
je 0x10003d3c
mov eax, dword [eax + 0x24]
mov dword [eax + 0x94], 0x921a215b
mov eax, dword [ecx + 0x1258]
test eax, eax
je 0x10003d53
mov eax, dword [eax + 0x24]
mov dword [eax + 0x94], 0x921a215b
cmp dword [0x10028600], 1
jne 0x10003d84
mov eax, dword [ecx + 0x1254]
test eax, eax
je 0x10003d70
mov eax, dword [eax + 0x24]
mov dword [eax + 0x60], 0
mov eax, dword [ecx + 0x1258]
test eax, eax
je 0x10003d84
mov eax, dword [eax + 0x24]
mov dword [eax + 0x60], 0
cmp dword [0x10026818], 1
jne 0x10003dbb
mov eax, dword [ecx + 0x1254]
test eax, eax
je 0x10003da4
mov eax, dword [eax + 0x24]
mov dword [eax + 0x8c], 0xffffffff
mov eax, dword [ecx + 0x1258]
test eax, eax
je 0x10003dbb
mov eax, dword [eax + 0x24]
mov dword [eax + 0x8c], 0xffffffff
mov eax, dword [0x100285f8]
cmp eax, 1
jne 0x10003ddd
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3dcccccd
mov eax, dword [0x100285f8]
cmp eax, 2
jne 0x10003dfa
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3e4ccccd
mov eax, dword [0x100285f8]
cmp eax, 3
jne 0x10003e17
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3e99999a
mov eax, dword [0x100285f8]
cmp eax, 4
jne 0x10003e34
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3ecccccd
mov eax, dword [0x100285f8]
cmp eax, 5
jne 0x10003e51
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3f000000
mov eax, dword [0x100285f8]
cmp eax, 6
jne 0x10003e6e
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3f19999a
mov eax, dword [0x100285f8]
cmp eax, 7
jne 0x10003e86
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xa8], 0x3f333333
cmp dword [0x10026824], 1
jne 0x10003e9f
mov eax, dword [ecx + 0x1254]
mov dword [eax + 0x214], 0
cmp dword [0x1002687c], 1
jne 0x10003ebb
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x80], 0x47c35000
cmp dword [0x10026840], 1
jne 0x10003ed4
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x78], 0x47c35000
cmp dword [0x100285dc], 1
jne 0x10003ef0
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xb4], 0
cmp dword [0x100285ec], 1
jne 0x10003f39
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x6c], 0
mov eax, dword [ecx + 0x1258]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x6c], 0
mov eax, dword [ecx + 0x1254]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x68], 0xbf800000
mov eax, dword [ecx + 0x1258]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x68], 0xbf800000
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100058bd
mov esp, ebp
pop ebp
ret