Function at 0x10055bb0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [0x10269840]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10269964]
mov dword [ebp - 0x108], ecx
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [eax + 0x100]
push edi
mov dword [ebp - 0x140], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x10055c01
mov eax, 0x64
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101044f3
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x1c], 4
jne 0x10055c11
call fcn.10059350
jmp 0x10055c16
call fcn.10059a50
lea edi, [eax + 1]
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x10055c3c
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
je 0x10055c3c
call fcn.100596d0
mov edi, eax
mov ecx, dword [esi]
mov eax, dword [ecx]
mov dword [ebp - 0x108], eax
mov eax, dword [0x10269a24]
test al, 1
jne 0x10055ce0
mov esi, dword [0x10269968]
lea ecx, [ebp - 0x138]
push 0x16
or eax, 1
mov dword [ebp - 0x128], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
mov dword [0x10269a24], eax
vmovdqu xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x124], 0
call fcn.10002ab0
lea eax, [ebp - 0x138]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x124]
mov dword [0x10269a20], eax
cmp ecx, 0xf
jbe 0x10055ce0
mov edx, dword [ebp - 0x138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055cd6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005600c
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x10269a20]
mov ecx, dword [ebp - 0x108]
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + 4]
vmovss xmm0, dword [esi]
vmulss xmm0, xmm0, dword [0x1016f158]
cmp dword [ecx + eax], edi
vcvtss2sd xmm0, xmm0, xmm0
cmovl edi, dword [ecx + eax]
mov dword [ebp - 0x13c], edi
vmovsd qword [ebp - 0x120], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x118], xmm0
vmovsd xmm0, qword [ebp - 0x120]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x108], xmm0
vmovss xmm0, dword [esi + 4]
vmulss xmm0, xmm0, dword [0x1016f158]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x120], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x10c], xmm0
vmovsd xmm0, qword [ebp - 0x120]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x110], xmm0
vmovss xmm0, dword [esi + 8]
vmulss xmm0, xmm0, dword [0x1016f158]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x16c], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x11c], xmm0
vmovsd xmm0, qword [ebp - 0x16c]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vmovss xmm2, dword [ebp - 0x10c]
vmovss xmm7, dword [ebp - 0x11c]
vxorps xmm5, xmm2, xmmword [0x101253e0]
vcvtsd2ss xmm6, xmm0, xmm0
vmovss xmm0, dword [ebp - 0x110]
vmulss xmm0, xmm0, dword [ebp - 0x108]
vmulss xmm3, xmm6, dword [0x10125348]
vmovss dword [ebp - 0x164], xmm0
vmulss xmm0, xmm2, dword [ebp - 0x108]
vmulss xmm2, xmm7, dword [ebp - 0x118]
vmovss dword [ebp - 0x160], xmm0
vmovss xmm0, dword [ebp - 0x118]
vxorps xmm0, xmm0, xmmword [0x101253e0]
mov eax, dword [0x10269964]
vmovss dword [ebp - 0x15c], xmm0
vmulss xmm0, xmm2, dword [ebp - 0x110]
vmulss xmm1, xmm5, xmm3
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm3, dword [ebp - 0x110]
mov edi, dword [eax + 0x18c]
mov eax, dword [0x102699e4]
vmovss dword [ebp - 0x158], xmm0
vmulss xmm0, xmm2, dword [ebp - 0x10c]
vmulss xmm2, xmm6, dword [ebp - 0x118]
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0x110]
vmovss dword [ebp - 0x154], xmm0
vmulss xmm0, xmm7, dword [0x10125348]
vmulss xmm0, xmm0, dword [ebp - 0x108]
vmovss dword [ebp - 0x150], xmm0
vmulss xmm0, xmm5, xmm7
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0x10c]
vmovss dword [ebp - 0x14c], xmm0
vmulss xmm0, xmm7, dword [ebp - 0x110]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x148], xmm0
vmulss xmm0, xmm6, dword [ebp - 0x108]
vmovss dword [ebp - 0x144], xmm0
test al, 1
jne 0x10055f63
mov esi, dword [0x10269968]
lea ecx, [ebp - 0x138]
push 0x2d
or eax, 1
mov dword [ebp - 0x128], 0
vpxor xmm0, xmm0, xmm0
push str.CBaseAttributableItem__m_iItemDefinitionIndex
mov dword [0x102699e4], eax
vmovdqu xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x124], 0
call fcn.10002ab0
lea eax, [ebp - 0x138]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x124]
mov dword [0x102699e0], eax
cmp ecx, 0xf
jbe 0x10055f63
mov edx, dword [ebp - 0x138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055f59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005600c
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x102699e0]
mov eax, dword [eax + 4]
movzx eax, word [edi + eax]
mov dword [ebp - 0x108], eax
mov eax, dword [0x10269964]
mov edi, dword [eax + 0x18c]
mov eax, dword [0x10269e08]
test al, 1
jne 0x1005601c
mov esi, dword [0x10269968]
lea ecx, [ebp - 0x138]
push 0x1e
or eax, 1
mov dword [ebp - 0x128], 0
vpxor xmm0, xmm0, xmm0
push str.CWeaponCSBase__m_flRecoilIndex
mov dword [0x10269e08], eax
vmovdqu xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x124], 0
call fcn.10002ab0
lea eax, [ebp - 0x138]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x124]
mov dword [0x10269e04], eax
cmp ecx, 0xf
jbe 0x1005601c
mov edx, dword [ebp - 0x138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056012
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10056012
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x10269e04]
push 0x100
mov eax, dword [eax + 4]
vmovss xmm0, dword [edi + eax]
xor edi, edi
lea eax, [ebp - 0x104]
push edi
push eax
vmovss dword [ebp - 0x11c], xmm0
mov dword [ebp - 0x10c], edi
call sub.VCRUNTIME140.dll_memset
mov edi, dword [ebp - 0x13c]
add esp, 0xc
xor esi, esi
nop word [eax + eax]
vmovss xmm0, dword [ebp - 0x11c]
lea eax, [ebp - 0x104]
add eax, esi
push eax
push esi
push edi
push ecx
vmovss dword [esp], xmm0
push dword [ebp - 0x108]
lea eax, [ebp - 0x14c]
push dword [ebp - 0x140]
lea ecx, [ebp - 0x111]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.10054510
inc esi
cmp esi, 0x100
jb 0x10056060
mov edi, dword [ebp - 0x10c]
lea ecx, [ebp - 0x104]
nop word [eax + eax]
cmp byte [ecx], 0
lea eax, [edi + 1]
cmove eax, edi
inc ecx
mov edi, eax
lea eax, [ebp - 4]
cmp ecx, eax
jne 0x100560c0
mov ecx, dword [ebp - 4]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edi
vmulss xmm0, xmm0, dword [0x1016f154]
vmulss xmm0, xmm0, dword [0x10125328]
pop edi
xor ecx, ebp
vcvttss2si eax, xmm0
pop esi
call fcn.101044f3
mov esp, ebp
pop ebp
ret 0xc