Function at 0x10007260
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x1001000c]
xor eax, esp
mov dword [esp + 0x48], eax
cmp dword [0x100108c4], 0
push esi
jne 0x100072b3
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
mov eax, dword [0x1001085c]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
cmp dword [0x100108c4], 0
jne 0x10007301
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
call fcn.10002660
mov eax, dword [0x100108dc]
mov eax, dword [eax + 0xfe4]
mov dword [0x100108cc], eax
test eax, eax
je 0x1000754e
mov ecx, dword [0x10010688]
movups xmm1, xmmword [ecx + 0x250]
movups xmm2, xmmword [ecx + 0x220]
movups xmm3, xmmword [ecx + 0x230]
movups xmm4, xmmword [ecx + 0x240]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
ucomiss xmm0, dword [0x1000d4c8]
lahf
test ah, 0x44
jnp 0x100073a8
movups xmmword [0x10010970], xmm2
movups xmmword [0x10010980], xmm3
movups xmmword [0x10010990], xmm4
movups xmmword [0x100109a0], xmm1
movups xmm0, xmmword [ecx + 0x1a0]
movups xmmword [0x100108f0], xmm0
movups xmm0, xmmword [ecx + 0x1b0]
movups xmmword [0x10010900], xmm0
movups xmm0, xmmword [ecx + 0x1c0]
movups xmmword [0x10010910], xmm0
movups xmm0, xmmword [ecx + 0x1d0]
movups xmmword [0x10010920], xmm0
call fcn.10006af0
call fcn.10006890
mov edx, eax
test edx, edx
je 0x100074cb
mov ecx, dword [0x100106ec]
sub ecx, 0
je 0x100073d7
sub ecx, 1
jne 0x100073d1
lea eax, [ecx + 4]
jmp 0x100073dc
mov eax, dword [esp + 8]
jmp 0x100073dc
mov eax, 6
lea ecx, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.10002d20
add esp, 8
cmp dword [0x100108c4], 0
jne 0x1000742c
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
push dword [0x1001085c]
lea edx, [esp + 0x10]
lea ecx, [esp + 0x1c]
call fcn.10001320
add esp, 4
test al, al
je 0x100074cb
cmp dword [0x100106e0], 0
je 0x100074cb
cmp dword [0x100108c4], 0
jne 0x10007491
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
movss xmm1, dword [esp + 0x10]
movss xmm0, dword [esp + 0xc]
call fcn.100065e0
cmp dword [0x100106e4], 0
je 0x100074cb
cvttss2si eax, dword [esp + 0x10]
push 0x1000d334
push 0xffff0000
push eax
cvttss2si eax, dword [esp + 0x18]
push eax
call fcn.10002010
add esp, 0x10
cmp dword [0x10010730], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x100074f1
push 0x47
call esi
test al, 1
je 0x100074f1
mov eax, dword [0x100108dc]
mov dword [eax + 0xd3ff0], 0
cmp dword [0x10010734], 0
mov eax, dword [0x100108cc]
je 0x1000751a
movss xmm0, dword [eax + 0xde38]
comiss xmm0, dword [0x1000d4c0]
jb 0x1000751a
mov dword [eax + 0xde38], 0x3f8ccccd
cmp dword [0x10010738], 0
je 0x1000753b
push 0x20
call esi
test ax, ax
mov eax, dword [0x100108cc]
je 0x1000753b
mov dword [eax + 0xe8b8], 0x41500000
cmp dword [0x1001073c], 0
je 0x1000754e
mov dword [eax + 0xdf10], 0x42960000
cmp dword [0x10010694], 0
je 0x100077d0
cmp dword [0x100108c4], 0
jne 0x10007599
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
mov eax, dword [0x1001085c]
lea edx, [esp + 0x24]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc0]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1001065c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x100109c4]
cmp eax, dword [esi + 4]
jle 0x10007619
push 0x100109c4
call fcn.10009c98
add esp, 4
cmp dword [0x100109c4], 0xffffffff
jne 0x10007619
mov eax, dword [esp + 0x2c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1000d6a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1000d4c4]
call fcn.1000ac80
push 0x100109c4
mov dword [0x100109c0], eax
call fcn.10009c47
add esp, 4
mov eax, dword [0x100109bc]
cmp eax, dword [esi + 4]
jle 0x10007677
push 0x100109bc
call fcn.10009c98
add esp, 4
cmp dword [0x100109bc], 0xffffffff
jne 0x10007677
mov eax, dword [esp + 0x30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1000d6a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1000d4c4]
call fcn.1000ac80
push 0x100109bc
mov dword [0x100109c8], eax
call fcn.10009c47
add esp, 4
cmp dword [0x100108c4], 0
jne 0x100076b5
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
mov eax, dword [0x100109c8]
push ecx
mov ecx, dword [0x100109c0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1000d6a0]
lea eax, [ecx + 5]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [esp], xmm2
addsd xmm0, qword [eax*8 + 0x1000d6a0]
lea eax, [ecx - 4]
mov ecx, dword [0x1001085c]
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1000d6a0]
cvtpd2ps xmm1, xmm0
call fcn.100014c0
add esp, 4
cmp dword [0x100108c4], 0
jne 0x10007760
push 1
call fcn.10009cfc
movaps xmm0, xmmword [0x1000d6c0]
add esp, 4
mov dword [esp + 8], eax
movups xmmword [0x1001083c], xmm0
mov dword [0x10010868], 0
mov dword [0x100108d0], 0
mov dword [0x100108c4], eax
mov eax, dword [0x100109c0]
mov ecx, dword [0x100109c8]
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1000d6a0]
lea eax, [ecx + 5]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm3, xmm1
addsd xmm0, qword [eax*8 + 0x1000d6a0]
lea eax, [ecx - 4]
mov ecx, dword [0x1001085c]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1000d6a0]
cvtpd2ps xmm2, xmm0
call fcn.100014c0
add esp, 4
mov ecx, dword [esp + 0x4c]
pop esi
xor ecx, esp
call fcn.10009c39
mov esp, ebp
pop ebp
ret