Function at 0x10060240
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x10163040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x1028ffa4]
push esi
mov esi, dword [ebx + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x14c], esi
mov ecx, dword [eax + 0xf8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x10060293
mov eax, 0x64
jmp 0x100608a3
mov eax, dword [ebx + 0x10]
cmp dword [eax + 0x1c], 4
jne 0x100602a3
call fcn.10053ca0
jmp 0x100602a8
call fcn.10054160
inc eax
mov dword [ebp - 0x138], eax
mov eax, dword [edi + 0x34]
test eax, eax
je 0x100602d0
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
je 0x100602d0
call fcn.10054620
mov dword [ebp - 0x138], eax
mov ecx, dword [esi]
mov eax, dword [ecx]
mov dword [ebp - 0x110], eax
mov eax, dword [0x1028fa80]
test al, 1
jne 0x100603cc
or eax, 1
mov dword [ebp - 0x120], 0
push 0x16
mov dword [0x1028fa80], eax
lea ecx, [ebp - 0x130]
mov eax, dword [0x1028ff90]
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
mov dword [ebp - 0x10c], eax
vmovdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x11c], 0
call fcn.10005c60
cmp dword [ebp - 0x11c], 0xf
lea esi, [ebp - 0x130]
mov edi, dword [ebp - 0x130]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [ebp - 0x120], edx
jbe 0x10060366
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [ebp - 0x120]
jb 0x10060351
push ecx
mov ecx, dword [ebp - 0x10c]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.10009d90
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x100608b8
add eax, 0x20
mov dword [0x1028fa70], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 0xf
jbe 0x100603cc
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100603c2
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100607cd
push ecx
push edi
call fcn.10117d22
add esp, 8
mov eax, dword [0x1028fa70]
mov ecx, dword [ebp - 0x110]
mov esi, dword [ebx + 0xc]
mov eax, dword [eax + 4]
vmovss xmm0, dword [esi]
vmulss xmm0, xmm0, dword [0x1015ef84]
mov eax, dword [ecx + eax]
mov ecx, dword [ebp - 0x138]
cmp eax, ecx
vcvtss2sd xmm0, xmm0, xmm0
cmovl ecx, eax
mov dword [ebp - 0x138], ecx
vmovsd qword [ebp - 0x118], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x13c], xmm0
vmovsd xmm0, qword [ebp - 0x118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x10c], xmm0
vmovss xmm0, dword [esi + 4]
vmulss xmm0, xmm0, dword [0x1015ef84]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x118], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x110], xmm0
vmovsd xmm0, qword [ebp - 0x118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x134], xmm0
vmovss xmm0, dword [esi + 8]
vmulss xmm0, xmm0, dword [0x1015ef84]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x148], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x114], xmm0
vmovsd xmm0, qword [ebp - 0x148]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vmovss xmm2, dword [ebp - 0x110]
vmovss xmm7, dword [ebp - 0x114]
vxorps xmm5, xmm2, xmmword [0x1015f6b0]
vcvtsd2ss xmm6, xmm0, xmm0
vmovss xmm0, dword [ebp - 0x134]
vmulss xmm0, xmm0, dword [ebp - 0x10c]
vmulss xmm3, xmm6, dword [0x1015f400]
vmovss dword [ebp - 0x170], xmm0
vmulss xmm0, xmm2, dword [ebp - 0x10c]
vmulss xmm2, xmm7, dword [ebp - 0x13c]
vmovss dword [ebp - 0x16c], xmm0
vmovss xmm0, dword [ebp - 0x13c]
vxorps xmm0, xmm0, xmmword [0x1015f6b0]
mov eax, dword [0x1028ffa4]
vmovss dword [ebp - 0x168], xmm0
vmulss xmm0, xmm2, dword [ebp - 0x134]
vmulss xmm1, xmm5, xmm3
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm3, dword [ebp - 0x134]
mov eax, dword [eax + 0x1a4]
vmovss dword [ebp - 0x164], xmm0
vmulss xmm0, xmm2, dword [ebp - 0x110]
vmulss xmm2, xmm6, dword [ebp - 0x13c]
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0x134]
vmovss dword [ebp - 0x160], xmm0
vmulss xmm0, xmm7, dword [0x1015f400]
vmulss xmm0, xmm0, dword [ebp - 0x10c]
vmovss dword [ebp - 0x15c], xmm0
vmulss xmm0, xmm7, xmm5
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0x110]
vmovss dword [ebp - 0x158], xmm0
vmulss xmm0, xmm7, dword [ebp - 0x134]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x154], xmm0
vmulss xmm0, xmm6, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
mov eax, dword [0x1028fa34]
test al, 1
vmovss dword [ebp - 0x150], xmm0
jne 0x100606bb
or eax, 1
mov dword [ebp - 0x120], 0
push 0x2d
mov dword [0x1028fa34], eax
lea ecx, [ebp - 0x130]
mov eax, dword [0x1028ff90]
vpxor xmm0, xmm0, xmm0
push str.CBaseAttributableItem__m_iItemDefinitionIndex
mov dword [ebp - 0x114], eax
vmovdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x11c], 0
call fcn.10005c60
cmp dword [ebp - 0x11c], 0xf
lea esi, [ebp - 0x130]
mov edi, dword [ebp - 0x130]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [ebp - 0x120], edx
jbe 0x10060655
nop dword [eax]
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [ebp - 0x120]
jb 0x10060640
push ecx
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.10009d90
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x100608b8
add eax, 0x20
mov dword [0x1028fa50], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 0xf
jbe 0x100606bb
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100606b1
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100607cd
push ecx
push edi
call fcn.10117d22
add esp, 8
mov eax, dword [0x1028fa50]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [eax + 4]
movzx eax, word [ecx + eax]
mov dword [ebp - 0x110], eax
mov eax, dword [0x1028ffa4]
mov eax, dword [eax + 0x1a4]
mov dword [ebp - 0x10c], eax
mov eax, dword [0x1028fc08]
test al, 1
jne 0x100607dd
or eax, 1
mov dword [ebp - 0x120], 0
push 0x1e
mov dword [0x1028fc08], eax
lea ecx, [ebp - 0x130]
mov eax, dword [0x1028ff90]
vpxor xmm0, xmm0, xmm0
push str.CWeaponCSBase__m_flRecoilIndex
mov dword [ebp - 0x114], eax
vmovdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x11c], 0
call fcn.10005c60
cmp dword [ebp - 0x11c], 0xf
lea esi, [ebp - 0x130]
mov edi, dword [ebp - 0x130]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [ebp - 0x120], edx
jbe 0x10060775
nop dword [eax + eax]
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [ebp - 0x120]
jb 0x10060760
push ecx
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.10009d90
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x100608b8
add eax, 0x20
mov dword [0x1028fbd8], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 0xf
jbe 0x100607dd
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100607d3
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100607d3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.10117d22
add esp, 8
mov eax, dword [0x1028fbd8]
xor edi, edi
mov ecx, dword [ebp - 0x10c]
push pe_nt_image_headers32
push edi
mov eax, dword [eax + 4]
mov dword [ebp - 0x10c], edi
vmovss xmm0, dword [ecx + eax]
lea eax, [ebp - 0x108]
push eax
vmovss dword [ebp - 0x114], xmm0
call sub.VCRUNTIME140.dll_memset
mov edi, dword [ebp - 0x138]
add esp, 0xc
xor esi, esi
nop dword [eax]
vmovss xmm0, dword [ebp - 0x114]
lea eax, [ebp - 0x108]
add eax, esi
push eax
push esi
push edi
push ecx
vmovss dword [esp], xmm0
push dword [ebp - 0x110]
lea eax, [ebp - 0x158]
push dword [ebp - 0x14c]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.100608d0
inc esi
cmp esi, 0x100
jb 0x10060820
mov edi, dword [ebp - 0x10c]
lea ecx, [ebp - 0x108]
cmp byte [ecx], 0
lea eax, [edi + 1]
cmove eax, edi
inc ecx
mov edi, eax
lea eax, [ebp - 8]
cmp ecx, eax
jne 0x10060874
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edi
vmulss xmm0, xmm0, dword [0x1015ef70]
vmulss xmm0, xmm0, dword [0x1015f24c]
vcvttss2si eax, xmm0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.101179c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
push str.invalid_unordered_map_K__T__key
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
int3