Function at 0x1000f570
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x734
cmp byte [0x10273315], 0
push ebx
push esi
push edi
je 0x1000ff3c
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1023d190]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1027b670]
cmp eax, dword [ecx + 4]
jle 0x1000f5df
push 0x1027b670
call fcn.1018369a
add esp, 4
cmp dword [0x1027b670], 0xffffffff
jne 0x1000f5df
push 0x1027b670
mov dword [0x10276844], 0
mov dword [0x10276840], 0
call fcn.10183649
add esp, 4
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x14]
push eax
push str.Counter_Strike:_Global_Offensive
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [0x102372f0]
movd xmm2, dword [esp + 0x14]
movd xmm1, dword [esp + 0x18]
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
comiss xmm2, xmm0
jb 0x1000f6d1
mov eax, dword [0x102372f8]
add eax, 0x14
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jb 0x1000f6d1
mov ecx, dword [0x102372f4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x1000f6d1
mov eax, dword [0x102372fc]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1000f6d1
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1000f6e0
cmp byte [0x10273374], 0
movd xmm3, dword [esp + 0x18]
movd xmm4, dword [esp + 0x14]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
jne 0x1000f6c8
movd xmm0, dword [0x102372f4]
movaps xmm2, xmm3
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm4
subss xmm2, xmm0
movd xmm0, dword [0x102372f0]
cvtdq2ps xmm0, xmm0
movss dword [0x10276844], xmm2
subss xmm1, xmm0
movss dword [0x10276840], xmm1
mov byte [0x10273374], 1
jmp 0x1000f704
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x1000f6e9
mov byte [0x10273374], 0
jmp 0x1000f726
cmp byte [0x10273374], 0
je 0x1000f726
movd xmm3, dword [esp + 0x18]
movd xmm4, dword [esp + 0x14]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
subss xmm4, dword [0x10276840]
subss xmm3, dword [0x10276844]
cvttss2si eax, xmm4
mov dword [0x102372f0], eax
cvttss2si eax, xmm3
mov dword [0x102372f4], eax
push dword [0x102372f8]
call fcn.1000f360
movss xmm0, dword [0x102371d8]
sub esp, 0xc
movss xmm1, dword [0x1022fbbc]
mulss xmm0, xmm1
mov edi, dword [0x102372f4]
mov dword [esp + 0x60], 0xff
cvttss2si edx, xmm0
movss xmm0, dword [0x102371d4]
mulss xmm0, xmm1
mov dword [esp + 0x6c], edx
cvttss2si ecx, xmm0
movss xmm0, dword [0x102371d0]
mulss xmm0, xmm1
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102372f0]
add ecx, 0xffffffd6
cvttss2si eax, xmm0
mov dword [esp + 0x64], eax
mov eax, dword [0x102372f8]
movups xmm0, xmmword [esp + 0x60]
cdq
sub eax, edx
lea edx, [edi + 4]
sar eax, 1
add ecx, eax
mov eax, esp
push 0
sub esp, 0x18
mov esi, esp
movups xmmword [eax], xmm0
push dword [0x1027338c]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0xe
mov dword [esi + 0x14], 0xf
movq xmm0, qword [str.SPECTATOR_LIST]
movq qword [esi], xmm0
mov eax, dword [0x10211c18]
mov dword [esi + 8], eax
mov ax, word [0x10211c1c]
mov word [esi + 0xc], ax
mov byte [esi + 0xe], 0
call fcn.101240d0
mov ecx, dword [0x1023d1cc]
add esp, 0x30
xor edi, edi
mov dword [0x1023730c], 0
xor ebx, ebx
mov dword [esp + 0x24], 0
mov esi, 1
mov dword [esp + 0x28], edi
mov eax, dword [ecx]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebx
mov eax, dword [eax + 0x50]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x10], esi
call eax
cmp eax, esi
jl 0x1000ff2a
nop dword [eax + eax]
mov ecx, dword [0x1023d20c]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov dword [esp + 0xc], ecx
test ecx, ecx
je 0x1000ff10
mov eax, dword [0x1023d284]
test eax, eax
jne 0x1000f89b
mov edx, 0xe80c2f78
mov ecx, 0x1021170d
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [0x1023d284], eax
cmp dword [eax + ecx], 0
jg 0x1000ff10
mov eax, dword [ecx + 8]
add ecx, 8
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1000ff10
cmp byte [0x102371e4], al
jne 0x1000f91f
mov esi, dword [0x102732d4]
test esi, esi
jne 0x1000f8ff
mov edx, 0xe80c2f78
mov ecx, 0x10211ae5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov esi, eax
mov dword [0x102732d4], esi
mov ecx, dword [0x1023d20c]
mov edx, dword [esp + 0xc]
mov eax, dword [ecx]
push dword [esi + edx]
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [0x1023d288]
jne 0x1000ff0c
mov esi, dword [0x102732d4]
test esi, esi
jne 0x1000f95a
mov edx, 0xe80c2f78
mov ecx, 0x10211ae5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov esi, eax
mov dword [0x102732d4], esi
mov ecx, dword [0x1023d20c]
mov edx, dword [esp + 0xc]
mov eax, dword [ecx]
push dword [esi + edx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
call edx
mov ecx, dword [0x1023d1cc]
lea esi, [esp + 0x90]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov esi, dword [esp + 0xc]
lea eax, [esp + 0xa0]
mov ecx, str.GOTV
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000f9c3
test dl, dl
je 0x1000f9bf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000f9c3
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000f9a3
xor eax, eax
jmp 0x1000f9c8
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ff0c
test esi, esi
je 0x1000fddf
mov eax, dword [0x1023d284]
test eax, eax
jne 0x1000fa13
mov edx, 0xe80c2f78
mov ecx, 0x1021170d
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov esi, dword [esp + 0xc]
mov dword [0x1023d284], eax
cmp dword [eax + esi], 0
jle 0x1000ff0c
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
inc dword [0x1023730c]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1023d1cc]
lea esi, [esp + 0x1e8]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000fa52
sub ecx, edx
mov dword [esp + 0x40], 0
cmp byte [0x102371e4], 0
lea eax, [esp + 0xa0]
push ecx
xorps xmm0, xmm0
mov dword [esp + 0x48], 0
movaps xmmword [esp + 0x34], xmm0
lea ecx, [esp + 0x34]
push eax
je 0x1000fbf7
call fcn.10003d20
cmp edi, dword [esp + 0x2c]
je 0x1000fac8
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
movups xmm0, xmmword [esp + 0x30]
mov dword [edi + 0x14], 0
movups xmmword [edi], xmm0
movq xmm0, qword [esp + 0x40]
movq qword [edi + 0x10], xmm0
add edi, 0x18
mov dword [esp + 0x28], edi
jmp 0x1000fb11
lea eax, [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.10016230
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000fb0d
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000fb03
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ff43
push ecx
push edx
call fcn.10183618
add esp, 8
mov edi, dword [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x1f8]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000fb33
sub ecx, edx
lea eax, [esp + 0x1f8]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10003d20
cmp ebx, dword [esp + 0x6c]
je 0x1000fb84
xorps xmm0, xmm0
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
movups xmm0, xmmword [esp + 0x30]
mov dword [ebx + 0x14], 0
movups xmmword [ebx], xmm0
movq xmm0, qword [esp + 0x40]
movq qword [ebx + 0x10], xmm0
add ebx, 0x18
mov dword [esp + 0x68], ebx
jmp 0x1000fbcd
lea eax, [esp + 0x30]
push eax
push ebx
lea ecx, [esp + 0x6c]
call fcn.10016230
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000fbc9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000fbbf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ff43
push ecx
push edx
call fcn.10183618
add esp, 8
mov ebx, dword [esp + 0x68]
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x348]
push str._s_____s
push eax
call fcn.10014cc0
add esp, 0x10
jmp 0x1000fc98
call fcn.10003d20
cmp edi, dword [esp + 0x2c]
je 0x1000fc32
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
movups xmm0, xmmword [esp + 0x30]
mov dword [edi + 0x14], 0
movups xmmword [edi], xmm0
movq xmm0, qword [esp + 0x40]
movq qword [edi + 0x10], xmm0
add edi, 0x18
mov dword [esp + 0x28], edi
jmp 0x1000fc7b
lea eax, [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.10016230
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000fc77
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000fc6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ff43
push ecx
push edx
call fcn.10183618
add esp, 8
mov edi, dword [esp + 0x28]
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x344]
push 0x10211c40
push eax
call fcn.10014cc0
add esp, 0xc
mov dword [esp + 0x54], 0xff
mov dword [esp + 0x58], 0xff
mov dword [esp + 0x5c], 0xff
mov dword [esp + 0x50], 0xff
cmp esi, dword [0x1023d288]
jne 0x1000fd04
movss xmm1, dword [0x1022fbbc]
movss xmm0, dword [0x102371d8]
mulss xmm0, xmm1
cvttss2si edx, xmm0
movss xmm0, dword [0x102371d4]
mulss xmm0, xmm1
mov dword [esp + 0x5c], edx
cvttss2si ecx, xmm0
movss xmm0, dword [0x102371d0]
mulss xmm0, xmm1
mov dword [esp + 0x58], ecx
cvttss2si eax, xmm0
mov dword [esp + 0x54], eax
mov eax, dword [0x10273390]
lea esi, [esp + 0x340]
movups xmm0, xmmword [esp + 0x50]
mov dword [esp + 0x20], eax
lea edx, [esi + 1]
mov eax, dword [0x1023730c]
sub esp, 0x10
lea ecx, [eax + eax*4]
mov eax, dword [0x102372f4]
lea eax, [eax + ecx*4]
add eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [0x102372f0]
add eax, 4
mov dword [esp + 0x24], eax
mov eax, esp
push 0
sub esp, 0x18
mov ecx, esp
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x1000fd62
sub esi, edx
lea eax, [esp + 0x36c]
push esi
push eax
call fcn.10003d20
push dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
call fcn.101240d0
mov eax, dword [0x1027338c]
lea ecx, [esp + 0x370]
add esp, 0x18
mov dword [esp + 0x2c], eax
mov esi, esp
lea edx, [ecx + 1]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000fdb6
sub ecx, edx
lea eax, [esp + 0x358]
push ecx
push eax
mov ecx, esi
call fcn.10003d20
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x98]
jmp 0x1000fef8
cmp byte [0x102371e4], 0
je 0x1000ff0c
mov eax, dword [0x1023730c]
lea esi, [esp + 0xa0]
mov ecx, dword [0x10273390]
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x14], ecx
mov dword [0x1023730c], eax
sub esp, 0x10
mov dword [esp + 0x84], 0xff
mov dword [esp + 0x88], 0xff
lea ecx, [eax + eax*4]
mov dword [esp + 0x8c], 0xff
mov eax, dword [0x102372f4]
mov dword [esp + 0x80], 0xff
movups xmm0, xmmword [esp + 0x80]
lea eax, [eax + ecx*4]
add eax, 4
mov dword [esp + 0x30], eax
mov eax, dword [0x102372f0]
add eax, 4
mov dword [esp + 0x1c], eax
mov eax, esp
push 0
sub esp, 0x18
mov ecx, esp
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x1000fe80
sub esi, edx
lea eax, [esp + 0xcc]
push esi
push eax
call fcn.10003d20
push dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
call fcn.101240d0
mov eax, dword [0x1027338c]
lea ecx, [esp + 0xd0]
add esp, 0x18
mov dword [esp + 0x2c], eax
mov esi, esp
lea edx, [ecx + 1]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000fed4
sub ecx, edx
lea eax, [esp + 0xb8]
push ecx
push eax
mov ecx, esi
call fcn.10003d20
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0xa0]
call fcn.10124210
add esp, 0x18
movss xmm0, dword [eax]
movss dword [0x10237310], xmm0
mov esi, dword [esp + 0x10]
mov ecx, dword [0x1023d1cc]
inc esi
mov dword [esp + 0x10], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp esi, eax
jle 0x1000f840
lea ecx, [esp + 0x64]
call fcn.10004740
lea ecx, [esp + 0x24]
call fcn.10004740
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3