Function at 0x100781f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
xor ebx, ebx
push 0xd
call edi
bt ax, 8
mov esi, dword [sym.imp.USER32.dll_keybd_event]
jae 0x1007821e
push ebx
push 2
push ebx
push 0xd
mov dword [0x1012edb0], 1
call esi
push 0x1b
call edi
mov ecx, 0x100
test cx, ax
je 0x10078240
push 0
push 2
push 0
push 0x1b
mov dword [0x1012edb0], 1
call esi
mov eax, 0x482b70
call eax
mov edi, 0x6d6c20
cmp byte [eax + 0x849c], bl
jne 0x1007848c
xor esi, esi
mov eax, 0x402bc0
nop
push esi
call eax
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], bl
je 0x100782a0
inc esi
mov eax, 0x402bc0
cmp esi, 5
jl 0x10078260
mov eax, dword [0x1012edb4]
cmp eax, 0xffffff4c
jl 0x100782c6
push 0
push 0
push 0x1b
call edi
mov eax, dword [0x1012edb4]
add esp, 0xc
sub eax, 0x14
jmp 0x100782c1
mov eax, dword [0x1012edb4]
mov ebx, 1
test eax, eax
jns 0x100782c6
push 0
push 0
push 0x1b
call edi
mov eax, dword [0x1012edb4]
add esp, 0xc
add eax, 0x14
mov dword [0x1012edb4], eax
push ecx
mov dword [esp], 0
add eax, 4
push 1
push 1
sub esp, 0x20
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3f5a0000
mov dword [esp + 0x18], 0x3f470000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42da0000
mov dword [esp + 8], 0x43470000
movss dword [esp + 4], xmm0
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d4]
subss xmm0, dword [0x101256cc]
mulss xmm0, dword [0x101250f4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x10125280]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x157ce
call eax
add esp, 0x30
cmp ebx, 1
jne 0x1007848c
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
push 0x19
push 0x46
push 0x50
divss xmm0, dword [0xe7c3d4]
subss xmm0, dword [0x101256cc]
mulss xmm0, dword [0x101250f4]
addss xmm0, dword [0x10125578]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x1007848c
cmp byte [0x8793386], 0
je 0x100783e9
sub dword [0x1012edb4], 0xb4
push 0
push 0
push 0x19
mov dword [0x1012edb0], ebx
call edi
add esp, 0xc
mov ebx, 0x482b70
call ebx
lea esi, [eax + 0x8490]
call ebx
push esi
mov edx, 0x483b20
mov ecx, eax
call edx
movd xmm0, dword [0x1012edb4]
mov eax, 0x637c60
cvtdq2pd xmm0, xmm0
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x10125238]
mov dword [esp + 0x1c], 0x3f480000
mov dword [esp + 0x18], 0x3f0c0000
mov dword [esp + 0x14], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
mov dword [esp + 8], 0x428c0000
movss dword [esp + 4], xmm0
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d4]
subss xmm0, dword [0x101256cc]
mulss xmm0, dword [0x101250f4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x10125290]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x157cf
call eax
add esp, 0x30
mov eax, dword [0xe60b4c]
test eax, eax
je 0x100784e9
cmp eax, 1
je 0x100784e9
cmp eax, 2
je 0x100784e9
cmp eax, 3
je 0x100784e9
cmp eax, 4
je 0x100784e9
cmp eax, 5
je 0x100784e9
cmp dword [0x1012eda8], 0xffffff4c
jle 0x100784cc
push 0
push 0
push 0x1b
call edi
add esp, 0xc
sub dword [0x1012eda8], 0x14
cmp dword [0x1012edac], 0xa
jle 0x10078522
push 0
push 0
push 0x1b
call edi
add esp, 0xc
sub dword [0x1012edac], 0x14
jmp 0x10078522
cmp dword [0x1012eda8], 0xfffffff6
jge 0x10078504
push 0
push 0
push 0x1b
call edi
add esp, 0xc
add dword [0x1012eda8], 0x14
cmp dword [0x1012edac], 0xc1
jge 0x10078522
push 0
push 0
push 0x1b
call edi
add esp, 0xc
add dword [0x1012edac], 0x14
cmp dword [0x1012edb0], 0
jne 0x10078548
cmp dword [0x1012edb8], 0
jge 0x10078566
push 0
push 0
push 0x1b
call edi
add esp, 0xc
add dword [0x1012edb8], 0x32
jmp 0x10078566
cmp dword [0x1012edb8], 0xfffffed4
jle 0x10078566
push 0
push 0
push 0x1b
call edi
add esp, 0xc
sub dword [0x1012edb8], 0x32
xor esi, esi
mov ebx, 0xe60b4c
nop dword [eax]
cmp dword [ebx], esi
jne 0x10078650
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
push 0xd
push 0x46
push 0x56
divss xmm0, dword [0xe7c3d4]
subss xmm0, dword [0x101256cc]
mulss xmm0, dword [0x101250f4]
addss xmm0, xmm0
addss xmm0, dword [0x10125680]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x100785e3
mov dword [0xe61730], esi
mov dword [ebx], esi
cmp byte [0x8793386], 0
je 0x100785e3
push 0
push 0
push 0x19
call edi
add esp, 0xc
mov eax, 0x405b10
call eax
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
push 0xd
push 0x46
push 0x56
divss xmm0, dword [0xe7c3d4]
subss xmm0, dword [0x101256cc]
mulss xmm0, dword [0x101250f4]
addss xmm0, xmm0
addss xmm0, dword [0x10125640]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10078650
mov dword [0xe61730], esi
mov dword [ebx], esi
cmp byte [0x8793386], 0
je 0x10078650
push 0
push 0
push 0x19
call edi
add esp, 0xc
xor cl, cl
mov eax, 0x4d6a60
call eax
inc esi
cmp esi, 5
jl 0x10078570
pop edi
pop esi
pop ebx
ret