Function at 0x1005f280
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 [0x1015b040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x1018bfe4]
push esi
mov esi, dword [ebx + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x14c], esi
mov ecx, dword [eax + 0xe8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x1005f2d3
mov eax, 0x64
jmp 0x1005f8e3
mov eax, dword [ebx + 0x10]
cmp dword [eax + 0x1c], 4
jne 0x1005f2e3
call fcn.100537a0
jmp 0x1005f2e8
call fcn.10053c60
inc eax
mov dword [ebp - 0x138], eax
mov eax, dword [edi + 0x34]
test eax, eax
je 0x1005f310
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
je 0x1005f310
call fcn.10054120
mov dword [ebp - 0x138], eax
mov ecx, dword [esi]
mov eax, dword [ecx]
mov dword [ebp - 0x110], eax
mov eax, dword [0x1018bb6c]
test al, 1
jne 0x1005f40c
or eax, 1
mov dword [ebp - 0x120], 0
push 0x16
mov dword [0x1018bb6c], eax
lea ecx, [ebp - 0x130]
mov eax, dword [0x1018bfd0]
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.100052f0
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 0x1005f3a6
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [ebp - 0x120]
jb 0x1005f391
push ecx
mov ecx, dword [ebp - 0x10c]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.10008e20
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x1005f8f8
add eax, 0x20
mov dword [0x1018bb5c], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 0xf
jbe 0x1005f40c
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1005f402
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f80d
push ecx
push edi
call fcn.10112642
add esp, 8
mov eax, dword [0x1018bb5c]
mov ecx, dword [ebp - 0x110]
mov esi, dword [ebx + 0xc]
mov eax, dword [eax + 4]
vmovss xmm0, dword [esi]
vmulss xmm0, xmm0, dword [0x10157ddc]
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 [0x10157ddc]
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 [0x10157ddc]
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 [0x10158550]
vcvtsd2ss xmm6, xmm0, xmm0
vmovss xmm0, dword [ebp - 0x134]
vmulss xmm0, xmm0, dword [ebp - 0x10c]
vmulss xmm3, xmm6, dword [0x1015827c]
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 [0x10158550]
mov eax, dword [0x1018bfe4]
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 + 0x174]
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 [0x1015827c]
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 [0x1018bac8]
test al, 1
vmovss dword [ebp - 0x150], xmm0
jne 0x1005f6fb
or eax, 1
mov dword [ebp - 0x120], 0
push 0x2d
mov dword [0x1018bac8], eax
lea ecx, [ebp - 0x130]
mov eax, dword [0x1018bfd0]
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.100052f0
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 0x1005f695
nop dword [eax]
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [ebp - 0x120]
jb 0x1005f680
push ecx
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.10008e20
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x1005f8f8
add eax, 0x20
mov dword [0x1018bb3c], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 0xf
jbe 0x1005f6fb
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1005f6f1
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f80d
push ecx
push edi
call fcn.10112642
add esp, 8
mov eax, dword [0x1018bb3c]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [eax + 4]
movzx eax, word [ecx + eax]
mov dword [ebp - 0x110], eax
mov eax, dword [0x1018bfe4]
mov eax, dword [eax + 0x174]
mov dword [ebp - 0x10c], eax
mov eax, dword [0x1018bce8]
test al, 1
jne 0x1005f81d
or eax, 1
mov dword [ebp - 0x120], 0
push 0x1e
mov dword [0x1018bce8], eax
lea ecx, [ebp - 0x130]
mov eax, dword [0x1018bfd0]
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.100052f0
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 0x1005f7b5
nop dword [eax + eax]
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [ebp - 0x120]
jb 0x1005f7a0
push ecx
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.10008e20
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x1005f8f8
add eax, 0x20
mov dword [0x1018bca8], eax
mov eax, dword [ebp - 0x11c]
cmp eax, 0xf
jbe 0x1005f81d
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1005f813
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005f813
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.10112642
add esp, 8
mov eax, dword [0x1018bca8]
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.1005f910
inc esi
cmp esi, 0x100
jb 0x1005f860
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 0x1005f8b4
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edi
vmulss xmm0, xmm0, dword [0x10157dcc]
vmulss xmm0, xmm0, dword [0x101580b4]
vcvttss2si eax, xmm0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.101122e5
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