Function at 0x408960
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x43e080]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363d8]
addss xmm0, dword [0x4363dc]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [0x4363b8]
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [0x4363b8]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [0x4363b8]
movss dword [ebp - 0xac], xmm0
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
test edx, edx
jne 0x4089ee
push 5
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x4089ee
jmp 0x40927c
call fcn.00407810
movzx ecx, al
test ecx, ecx
jne 0x4089ff
jmp 0x40927c
call fcn.00407870
movzx edx, al
test edx, edx
jne 0x408a10
jmp 0x40927c
call fcn.00408900
movzx eax, al
test eax, eax
je 0x408a59
movss xmm0, dword [0x4363d8]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [0x4363bc]
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [0x4363bc]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [0x4363bc]
movss dword [ebp - 0xac], xmm0
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebp - 0xa4], eax
mov esi, dword [ebp - 0xa4]
sub esi, dword [0x44544c]
call fcn.00413be5
cdq
mov ecx, 0xa
idiv ecx
add edx, 0xf
cmp esi, edx
jae 0x408a8a
jmp 0x40927c
mov edx, dword [ebp - 0xa4]
mov dword [0x44544c], edx
call fcn.00413be5
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jge 0x408aad
jmp 0x40927c
movss xmm0, dword [0x43eb18]
mulss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x7c], xmm0
call fcn.00413be5
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363d8]
addss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [0x43eb24]
mulss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [0x4363ec]
movss dword [ebp - 0x94], xmm0
mov dword [ebp - 0x78], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.00406f10
nop
lea edx, [ebp - 0x38]
push edx
mov eax, dword [0x43fe9c]
add eax, 0x13e7f0
push eax
call fcn.004095e0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x408b7a
lea edx, [ebp - 0x34]
push edx
mov eax, dword [0x43fe9c]
add eax, 0x13e7f4
push eax
call fcn.004095e0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x408b7a
lea edx, [ebp - 0x30]
push edx
mov eax, dword [0x43fe9c]
add eax, 0x13e7f8
push eax
call fcn.004095e0
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x408b7f
jmp 0x40927c
mov eax, dword [0x43fef0]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x9c], eax
mov eax, dword [0x43fef4]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x70], 1
jmp 0x408bb1
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0x40
jge 0x408e7a
xorps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x20], xmm0
lea eax, [ebp - 0x18]
push eax
imul ecx, dword [ebp - 0x70], 0x250
add ecx, 0x184
push ecx
push 0x441440
call fcn.004095c0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x408c45
lea eax, [ebp - 0x1c]
push eax
imul ecx, dword [ebp - 0x70], 0x250
add ecx, 0x188
push ecx
push 0x441440
call fcn.004095c0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x408c45
lea eax, [ebp - 0x20]
push eax
imul ecx, dword [ebp - 0x70], 0x250
add ecx, 0x18c
push ecx
push 0x441440
call fcn.004095c0
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x408c4a
jmp 0x408ba8
movss xmm0, dword [ebp - 0x18]
ucomiss xmm0, dword [0x4363ac]
lahf
test ah, 0x44
jp 0x408c61
jmp 0x408ba8
imul eax, dword [ebp - 0x70], 0x54
movzx ecx, byte [eax + 0x43ff0c]
test ecx, ecx
jne 0x408c83
mov edx, dword [ebp - 0x70]
push edx
call fcn.00407950
add esp, 4
movzx eax, al
test eax, eax
je 0x408c88
jmp 0x408ba8
push 2
movss xmm0, dword [ebp - 0x18]
subss xmm0, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
call fcn.00409930
add esp, 8
fstp qword [ebp - 0xd8]
movsd xmm0, qword [ebp - 0xd8]
push 2
movss xmm1, dword [ebp - 0x1c]
subss xmm1, dword [ebp - 0x34]
push ecx
movss dword [esp], xmm1
movsd qword [ebp - 0xe0], xmm0
call fcn.00409930
add esp, 8
fstp qword [ebp - 0xe8]
movsd xmm0, qword [ebp - 0xe0]
addsd xmm0, qword [ebp - 0xe8]
push 2
movss xmm1, dword [ebp - 0x20]
subss xmm1, dword [ebp - 0x30]
push ecx
movss dword [esp], xmm1
movsd qword [ebp - 0x110], xmm0
call fcn.00409930
add esp, 8
fstp qword [ebp - 0xf0]
movsd xmm0, qword [ebp - 0x110]
addsd xmm0, qword [ebp - 0xf0]
call fcn.0042b320
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0xb8]
comiss xmm0, dword [ebp - 0xbc]
jbe 0x408d47
jmp 0x408ba8
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x80]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x18]
movss dword [esp], xmm0
lea ecx, [ebp - 0x60]
call fcn.00404a60
nop
lea ecx, [ebp - 0x14]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x60]
mov dword [edx], eax
mov ecx, dword [ebp - 0x5c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x58]
mov dword [edx + 8], eax
call fcn.00407310
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x408da4
jmp 0x408ba8
mov edx, 4
imul eax, edx, 0
cvtsi2ss xmm0, dword [ebp - 0x9c]
movss xmm1, dword [ebp + eax - 0x14]
subss xmm1, xmm0
movss dword [ebp - 0xb0], xmm1
mov ecx, 4
shl ecx, 0
cvtsi2ss xmm0, dword [ebp - 0xa0]
movss xmm1, dword [ebp + ecx - 0x14]
subss xmm1, xmm0
movss dword [ebp - 0xb4], xmm1
movss xmm0, dword [ebp - 0xb0]
mulss xmm0, dword [ebp - 0xb0]
movss xmm1, dword [ebp - 0xb4]
mulss xmm1, dword [ebp - 0xb4]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
call fcn.00403630
add esp, 4
fstp dword [ebp - 0x8c]
movss xmm0, dword [ebp - 0xb8]
divss xmm0, dword [0x4363e4]
mulss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x94]
comiss xmm0, dword [ebp - 0x90]
jbe 0x408e75
movss xmm0, dword [ebp - 0x7c]
comiss xmm0, dword [ebp - 0x8c]
jbe 0x408e75
movss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0x94], xmm0
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x78], edx
jmp 0x408ba8
cmp dword [ebp - 0x78], 0xffffffff
je 0x40927c
xorps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
lea eax, [ebp - 0x28]
push eax
imul ecx, dword [ebp - 0x78], 0x250
add ecx, 0x184
push ecx
push 0x441440
call fcn.004095c0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x40927c
lea eax, [ebp - 0x2c]
push eax
imul ecx, dword [ebp - 0x78], 0x250
add ecx, 0x188
push ecx
push 0x441440
call fcn.004095c0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x40927c
lea eax, [ebp - 0x24]
push eax
imul ecx, dword [ebp - 0x78], 0x250
add ecx, 0x18c
push ecx
push 0x441440
call fcn.004095c0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x40927c
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363e0]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0xcc], xmm0
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363e0]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0xc0], xmm0
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363e0]
movss xmm1, dword [ebp - 0xc0]
addss xmm1, xmm0
movss dword [ebp - 0xc4], xmm1
push ecx
movss xmm0, dword [ebp - 0xc4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xcc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x6c]
call fcn.00404a60
nop
lea edx, [ebp - 0xc]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x68]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x64]
mov dword [eax + 8], ecx
call fcn.00407310
add esp, 0x10
movzx edx, al
test edx, edx
je 0x40927c
push 2
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
call fcn.00409930
add esp, 8
fstp qword [ebp - 0xf8]
movsd xmm0, qword [ebp - 0xf8]
push 2
movss xmm1, dword [ebp - 0x2c]
subss xmm1, dword [ebp - 0x34]
push ecx
movss dword [esp], xmm1
movsd qword [ebp - 0x100], xmm0
call fcn.00409930
add esp, 8
fstp qword [ebp - 0x108]
movsd xmm0, qword [ebp - 0x100]
addsd xmm0, qword [ebp - 0x108]
push 2
movss xmm1, dword [ebp - 0x24]
subss xmm1, dword [ebp - 0x30]
push ecx
movss dword [esp], xmm1
movsd qword [ebp - 0x120], xmm0
call fcn.00409930
add esp, 8
fstp qword [ebp - 0x118]
movsd xmm0, qword [ebp - 0x120]
addsd xmm0, qword [ebp - 0x118]
call fcn.0042b320
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [0x43eb28]
mulss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x74], xmm0
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363e0]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0xd0]
comiss xmm0, dword [0x4363e4]
jbe 0x409115
movss xmm0, dword [ebp - 0x74]
mulss xmm0, dword [0x4363bc]
movss dword [ebp - 0x74], xmm0
call fcn.00413be5
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 4
imul eax, edx, 0
cvtsi2ss xmm0, dword [ebp - 0x9c]
movss xmm1, dword [ebp + eax - 0xc]
subss xmm1, xmm0
divss xmm1, dword [ebp - 0x74]
movss dword [ebp - 0x84], xmm1
mov ecx, 4
shl ecx, 0
cvtsi2ss xmm0, dword [ebp - 0xa0]
movss xmm1, dword [ebp + ecx - 0xc]
subss xmm1, xmm0
divss xmm1, dword [ebp - 0x74]
movss dword [ebp - 0x88], xmm1
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363e4]
addss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x84], xmm0
call fcn.00413be5
cdq
mov ecx, 0x14
idiv ecx
sub edx, 0xa
cvtsi2ss xmm0, edx
divss xmm0, dword [0x4363e4]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x88], xmm0
mov edx, 4
imul eax, edx, 0
movss xmm0, dword [ebp + eax - 0xc]
comiss xmm0, dword [0x4363ac]
jb 0x40927c
mov ecx, 4
imul edx, ecx, 0
cvtsi2ss xmm0, dword [0x43fef0]
comiss xmm0, dword [ebp + edx - 0xc]
jb 0x40927c
mov eax, 4
shl eax, 0
movss xmm0, dword [ebp + eax - 0xc]
comiss xmm0, dword [0x4363ac]
jb 0x40927c
mov ecx, 4
shl ecx, 0
cvtsi2ss xmm0, dword [0x43fef4]
comiss xmm0, dword [ebp + ecx - 0xc]
jb 0x40927c
xor edx, edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x54], 0
cvttss2si eax, dword [ebp - 0x84]
mov dword [ebp - 0x50], eax
cvttss2si ecx, dword [ebp - 0x88]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], 1
push 0x1c
lea edx, [ebp - 0x54]
push edx
push 1
call dword [sym.imp.USER32.dll_SendInput]
nop
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040c8c1
mov esp, ebp
pop ebp
ret