Function at 0x100457e0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x1017f064]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x10182dd0], 0
je 0x10045ab3
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
call fcn.10025be0
mov ecx, eax
call fcn.1003d450
lea edx, [ebp - 0x18]
mov ecx, eax
call fcn.1003d4f0
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
call fcn.10028060
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x10045ab3
push esi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x1c]
call fcn.1003e430
lea ecx, [ebp - 0x20]
call fcn.10029060
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x20]
lea edx, [ebp - 0xc]
lea ecx, [ebp - 0x10]
call fcn.10039700
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x14
push 0xa0
call esi
test ax, ax
jns 0x1004588d
mov byte [0x10182b31], 0
jmp 0x100458a2
mov edx, 6
mov byte [0x10182b31], 1
call fcn.1002eef0
test al, al
je 0x100458b2
push dword [ebp - 0x14]
movss xmm1, dword [ebp - 8]
call fcn.1003e060
add esp, 4
push 0x57
call esi
test ax, ax
jns 0x100458c4
mov byte [0x10182a9f], 0
jmp 0x100458d9
mov edx, 7
mov byte [0x10182a9f], 1
call fcn.1002eef0
test al, al
je 0x100458ec
push dword [ebp - 0x14]
movss xmm1, dword [0x10177038]
call fcn.10047500
add esp, 4
push 0x41
call esi
test ax, ax
jns 0x100458fe
mov byte [0x10182a73], 0
jmp 0x1004592a
push 0x25
mov byte [0x10182a73], 1
call esi
test ax, ax
jns 0x10045917
mov byte [0x10182a3b], 0
jmp 0x1004592a
cmp dword [ebp - 0x1c], 0xffffff81
mov byte [0x10182a3b], 1
jne 0x1004596b
cmp dword [ebp - 0x18], 0
jne 0x1004596b
movss xmm2, dword [0x10177194]
sub esp, 8
xor edx, edx
xorps xmm3, xmm3
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebp - 0x14]
call fcn.1003de00
add esp, 0x20
push 0x44
call esi
test ax, ax
jns 0x1004597d
mov byte [0x10182a79], 0
jmp 0x100459a9
push 0x27
mov byte [0x10182a79], 1
call esi
test ax, ax
jns 0x10045996
mov byte [0x10182a3f], 0
jmp 0x100459a9
cmp dword [ebp - 0x1c], 0x7f
mov byte [0x10182a3f], 1
jne 0x100459ea
cmp dword [ebp - 0x18], 0
jne 0x100459ea
movss xmm2, dword [0x10176f84]
sub esp, 8
xor edx, edx
xorps xmm3, xmm3
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebp - 0x14]
call fcn.1003de00
add esp, 0x20
push 0x28
call esi
test ax, ax
jns 0x100459fc
mov byte [0x10182a41], 0
jmp 0x10045a0f
cmp dword [ebp - 0x1c], 0
mov byte [0x10182a41], 1
jne 0x10045a4e
cmp dword [ebp - 0x18], 0x7f
jne 0x10045a4e
sub esp, 8
mov edx, 1
xorps xmm3, xmm3
xorps xmm2, xmm2
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0x42c80000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0
mov dword [esp], 0x41200000
push dword [ebp - 0x14]
call fcn.1003de00
add esp, 0x20
push 0x26
call esi
pop esi
test ax, ax
jns 0x10045a61
mov byte [0x10182a3d], 0
jmp 0x10045a74
cmp dword [ebp - 0x1c], 0
mov byte [0x10182a3d], 1
jne 0x10045ab3
cmp dword [ebp - 0x18], 0xffffff81
jne 0x10045ab3
sub esp, 8
mov edx, 1
xorps xmm3, xmm3
xorps xmm2, xmm2
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0
mov dword [esp], 0xc1200000
push dword [ebp - 0x14]
call fcn.1003de00
add esp, 0x20
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004955b
mov esp, ebp
pop ebp
ret