Function at 0x10006ae9
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
cmp dword [0x1002bd0c], 0
je 0x10006b39
cmp byte [0x10028cd5], 0
je 0x10006b39
fld1
push ecx
fstp dword [esp]
push str.chase_active
call dword [0x1002a7dc]
xor eax, eax
cmp dword [0x1002bd0c], eax
sete al
mov dword [ebp - 4], eax
add esp, 4
fild dword [ebp - 4]
fstp dword [esp]
push str.r_drawviewmodel
call dword [0x1002a7dc]
pop ecx
pop ecx
push ebx
push esi
push edi
push ecx
fldz
fstp dword [esp]
push str.cl_crosshair_color
call dword [0x1002a7dc]
fld1
add esp, 4
fstp dword [esp]
push str.cl_crosshair_translucent
call dword [0x1002a7dc]
fld1
add esp, 4
fstp dword [esp]
push str.cl_crosshair_size
call dword [0x1002a7dc]
pop ecx
pop ecx
call fcn.10005c67
call dword [0x1002a814]
mov dword [0x10028cc4], eax
call fcn.10005ee0
fldz
push 9
fstp qword [ebp - 0xc]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx eax, ax
mov dword [ebp - 4], eax
push 5
fild dword [ebp - 4]
mov ecx, 0x1002ae08
fstp dword [ebp - 4]
call fcn.100059e1
mov esi, eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
cmp word [ebp - 0x18], 0xc
jbe 0x10006bc8
add word [ebp - 0x18], 0xfff4
fld dword [ebp - 4]
fcomp dword [0x100101a0]
fnstsw ax
sahf
je 0x10006be5
fld qword [0x1002e4b8]
fadd qword [0x10010220]
fstp qword [ebp - 0xc]
fld qword [0x1002e4b8]
fcomp qword [ebp - 0xc]
fnstsw ax
sahf
ja 0x10006e16
push str.name
call dword [0x1002a788]
push eax
push str._PLAYER_ID:__s
push dword [esi + 8]
mov ebx, 0x82
mov edi, 0x1002bdb8
push dword [esi + 4]
push dword [esi]
push 0xa
push ebx
push edi
call fcn.1000a7db
fld dword [0x1002bce0]
add esp, 0x1c
fstp qword [esp]
push str._Current_aspeed:__f
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0x19
push ebx
push edi
call fcn.1000a7db
fld dword [0x1002bce8]
add esp, 0x1c
fstp qword [esp]
push str._Current_recoil:__f
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0x28
push ebx
push edi
call fcn.1000a7db
mov eax, dword [0x10028cc4]
add esp, 0x24
mov eax, dword [eax]
cmp eax, 0x24
jb 0x10006c7d
mov eax, dword [0x10017504]
jmp 0x10006c89
imul eax, eax, 0xe0
add eax, dword [0x10017504]
push dword [eax + 0x68]
mov ebx, 0x17c
push str.Frags:__d
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0xa
push ebx
push edi
call fcn.1000a7db
mov eax, dword [0x10028cc4]
add esp, 0x20
mov eax, dword [eax]
cmp eax, 0x24
jb 0x10006cbd
mov eax, dword [0x10017504]
jmp 0x10006cc9
imul eax, eax, 0xe0
add eax, dword [0x10017504]
push dword [eax + 0x6c]
push str.Deaths:__d
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0x19
push ebx
push edi
call fcn.1000a7db
push dword [0x10028d10]
push str.Headshots:__d
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0x28
push ebx
push edi
call fcn.1000a7db
add esp, 0x40
lea eax, [ebp - 0x68]
push eax
mov eax, dword [0x1002a8a0]
call dword [eax + 4]
test byte [0x1002a99e], 1
pop ecx
jne 0x10006d2d
fld qword [ebp - 0x38]
fmul qword [0x10010218]
or byte [0x1002a99e], 1
fstp dword [0x1002a960]
test byte [0x1002a99e], 2
jne 0x10006d50
or byte [0x1002a99e], 2
push 0x10006fe1
fldz
fstp qword [0x10017510]
call fcn.1000ec20
pop ecx
fld qword [0x1002e4b8]
fcomp qword [0x10017510]
fnstsw ax
sahf
jbe 0x10006d82
fld qword [0x1002e4b8]
fadd qword [0x100101c0]
fstp qword [0x10017510]
fld qword [ebp - 0x38]
fmul qword [0x10010218]
fstp dword [0x1002a960]
fld dword [0x1002a960]
push ecx
push ecx
lea eax, [ebp - 0x168]
fstp qword [esp]
push str.Ping_:__4.0f
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [ebp - 0x168]
mov ebx, 0x244
push eax
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0xa
push ebx
push edi
call fcn.1000a7db
add esp, 0x2c
cmp word [ebp - 0x16], 0xa
mov eax, str.Times:__d:0_d:_d
jb 0x10006dd0
mov eax, str.Times:__d:_d:_d
movzx ecx, word [ebp - 0x14]
push ecx
movzx ecx, word [ebp - 0x16]
push ecx
movzx ecx, word [ebp - 0x18]
push ecx
push eax
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0x19
push ebx
push edi
call fcn.1000a7db
fld dword [0x10028d18]
add esp, 0x20
fstp qword [esp]
push str.Hspercent:__.2f
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push 0x28
push ebx
push edi
call fcn.1000a7db
add esp, 0x24
xor ebx, ebx
cmp dword [0x1002bd08], ebx
je 0x10006e86
xor edi, edi
mov eax, dword [0x10014164]
cmp dword [edi + eax + 0x34], ebx
lea esi, [edi + eax]
jne 0x10006e75
fld qword [0x1002e4b8]
fcomp qword [esi + 0x28]
fnstsw ax
sahf
ja 0x10006e75
lea edx, [ebp - 0xc]
mov ecx, esi
call fcn.100042b8
test eax, eax
je 0x10006e75
mov eax, dword [esi + 0x30]
add esi, 0xc
fld dword [ebp - 8]
push esi
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call sub.MSVCRT.dll__ftol
fld dword [ebp - 0xc]
push eax
call sub.MSVCRT.dll__ftol
push eax
call fcn.100043e5
add esp, 0x18
add edi, 0x38
cmp edi, 0xe00
jl 0x10006e22
inc ebx
cmp ebx, 3
jl 0x10006e20
mov ecx, dword [0x1002a9a4]
mov esi, dword [ecx]
cmp esi, ecx
je 0x10006eca
fld qword [0x1002e4b8]
fcomp qword [esi + 0x18]
fnstsw ax
sahf
ja 0x10006ea4
mov esi, dword [esi]
jmp 0x10006e8e
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x10006eb0
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
mov ecx, 0x1002beb0
call fcn.1000ab45
lea eax, [ebp - 4]
push esi
push eax
mov ecx, 0x1002a9a0
call fcn.10008ea2
cmp byte [0x10012520], 0
je 0x10006f1c
push 0x1002a500
mov dword [0x1002a500], 0x214
call dword [0x1002a778]
mov eax, dword [0x1002a504]
pop ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 4], eax
mov eax, dword [0x1002a508]
fild dword [ebp - 4]
cdq
fstp dword [0x10012374]
sub eax, edx
sar eax, 1
and byte [0x10012520], 0
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fstp dword [0x10012378]
call dword [0x1002a820]
push ecx
fstp dword [esp]
call fcn.1000eb16
mov dword [esp], 0x1002ade8
call dword [0x1002a878]
pop ecx
push dword [0x100164c8]
mov ecx, 0x100164c0
push dword [0x100164c4]
call fcn.10009067
xor edi, edi
mov esi, 0x1f80
cmp edi, esi
mov ebx, 0xe0
jl 0x10006f67
mov ecx, dword [0x10017504]
jmp 0x10006f6f
mov eax, dword [0x10017504]
lea ecx, [edi + eax]
call fcn.1000ce79
add edi, ebx
cmp edi, esi
jl 0x10006f67
xor edi, edi
mov dword [ebp - 4], edi
cmp edi, esi
mov eax, dword [0x10017504]
mov ecx, eax
jge 0x10006f8d
lea ecx, [edi + eax]
cmp dword [ecx + 0xac], 0
je 0x10006fae
cmp edi, esi
jge 0x10006f9c
add eax, edi
cmp byte [eax + 0xa8], 0
je 0x10006fae
push dword [ebp - 4]
call fcn.10005a8f
pop ecx
inc dword [ebp - 4]
add edi, ebx
cmp edi, esi
jl 0x10006f81
xor edi, edi
cmp edi, esi
jl 0x10006fc5
mov ecx, dword [0x10017504]
jmp 0x10006fcd
mov eax, dword [0x10017504]
lea ecx, [edi + eax]
lea eax, [ebp - 0x10]
push eax
call fcn.1000cd3f
add edi, ebx
cmp edi, esi
jl 0x10006fc5
pop edi
pop esi
pop ebx
leave
ret