Function at 0x1000bbb0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x734
cmp byte [0x101be1e5], 0
push ebx
push esi
push edi
je 0x1000c6e8
cmp dword [0x101f7734], 1
jne 0x1000c6e8
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101c1730]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101f7ed0]
cmp eax, dword [ecx + 4]
jle 0x1000bc2c
push 0x101f7ed0
call fcn.1010fdd4
add esp, 4
cmp dword [0x101f7ed0], 0xffffffff
jne 0x1000bc2c
push 0x101f7ed0
mov dword [0x101f7ee0], 0
mov dword [0x101f7edc], 0
call fcn.1010fd83
add esp, 4
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x1c]
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 [0x101be1ec]
movd xmm2, dword [esp + 0x1c]
movd xmm1, dword [esp + 0x20]
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
comiss xmm2, xmm0
jb 0x1000bd1e
mov eax, dword [0x101be1f4]
add eax, 0x14
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jb 0x1000bd1e
mov ecx, dword [0x101be1f0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x1000bd1e
mov eax, dword [0x101be1f8]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1000bd1e
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1000bd2d
cmp byte [0x101f76e8], 0
movd xmm3, dword [esp + 0x20]
movd xmm4, dword [esp + 0x1c]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
jne 0x1000bd15
movd xmm0, dword [0x101be1f0]
movaps xmm2, xmm3
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm4
subss xmm2, xmm0
movd xmm0, dword [0x101be1ec]
cvtdq2ps xmm0, xmm0
movss dword [0x101f7ee0], xmm2
subss xmm1, xmm0
movss dword [0x101f7edc], xmm1
mov byte [0x101f76e8], 1
jmp 0x1000bd51
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x1000bd36
mov byte [0x101f76e8], 0
jmp 0x1000bd73
cmp byte [0x101f76e8], 0
je 0x1000bd73
movd xmm3, dword [esp + 0x20]
movd xmm4, dword [esp + 0x1c]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
subss xmm4, dword [0x101f7edc]
subss xmm3, dword [0x101f7ee0]
cvttss2si eax, xmm4
mov dword [0x101be1ec], eax
cvttss2si eax, xmm3
mov dword [0x101be1f0], eax
mov ecx, dword [0x101f76e0]
mov esi, dword [0x101be1f4]
mov edi, dword [0x101be1f0]
mov ebx, dword [0x101be1ec]
mov eax, dword [ecx]
push 0xff
push 0x32
push 0x32
mov eax, dword [eax + 0x3c]
push 0x32
call eax
mov ecx, dword [0x101f76e0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 0x10]
push eax
lea eax, [esi + ebx]
push eax
push edi
push ebx
call edx
mov ecx, dword [0x101f76e0]
mov ebx, dword [0x101be1f0]
mov esi, dword [0x101be1f4]
mov edi, dword [0x101be1ec]
mov eax, dword [ecx]
push 0
push 0
push 0
mov eax, dword [eax + 0x3c]
push 0
mov dword [esp + 0x1c], ebx
call eax
mov ecx, dword [0x101f76e0]
add ebx, 0x10
push ebx
add esi, edi
push esi
mov eax, dword [ecx]
push dword [esp + 0x14]
mov dword [esp + 0x1c], esi
push edi
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x101f76e0]
push 0xff
push 0x64
push 0x64
mov eax, dword [ecx]
push 0x64
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101f76e0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [esp + 0xc]
inc eax
push eax
push esi
mov esi, dword [esp + 0x14]
push esi
push edi
call edx
mov ecx, dword [0x101f76e0]
add esi, 0xf
push 0xff
push 0x64
push 0x64
mov eax, dword [ecx]
push 0x64
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101f76e0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 1]
push eax
push dword [esp + 0x14]
push esi
push edi
call edx
mov ecx, dword [0x101f76e0]
push 0xff
push 0x64
push 0x64
mov eax, dword [ecx]
push 0x64
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101f76e0]
push ebx
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 1]
push eax
push dword [esp + 0x14]
push edi
call edx
mov ecx, dword [0x101f76e0]
mov edi, dword [esp + 0x10]
push 0xff
push 0x64
mov eax, dword [ecx]
push 0x64
push 0x64
lea esi, [edi - 1]
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101f76e0]
push ebx
push edi
push dword [esp + 0x14]
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x101be1f4]
sub esp, 0x10
mov esi, dword [0x101be1ec]
movss xmm0, dword [0x101be20c]
mulss xmm0, dword [0x101b8310]
cdq
sub eax, edx
mov dword [esp + 0x60], 0xff
sar eax, 1
add esi, eax
movd xmm1, esi
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movss xmm0, dword [0x101be1e0]
cvttss2si eax, xmm1
movss xmm1, dword [0x101b8520]
mulss xmm0, xmm1
mov dword [esp + 0x7c], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x101be1dc]
mulss xmm0, xmm1
mov dword [esp + 0x6c], edx
mov edx, dword [0x101be1f0]
cvttss2si ecx, xmm0
lea edx, [edx + 2]
movss xmm0, dword [0x101be1d8]
mulss xmm0, xmm1
mov dword [esp + 0x68], ecx
lea ecx, [esi - 0x18]
cvttss2si eax, xmm0
mov dword [esp + 0x64], eax
mov eax, esp
movups xmm0, xmmword [esp + 0x60]
sub esp, 0x1c
mov esi, esp
movups xmmword [eax], xmm0
push dword [0x101f786c]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0xa
mov dword [esi + 0x14], 0xf
movq xmm0, qword [str.SPECTATORS]
movq qword [esi], xmm0
mov ax, word [0x10198a24]
mov word [esi + 8], ax
mov byte [esi + 0xa], 0
call fcn.100b06a0
mov ecx, dword [0x101c176c]
add esp, 0x30
xor edi, edi
mov dword [0x101be208], 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 + 0x60], edi
mov dword [esp + 0x64], ebx
mov eax, dword [eax + 0x50]
mov dword [esp + 0x68], ebx
mov dword [esp + 0xc], esi
call eax
cmp eax, esi
jl 0x1000c6d6
mov ecx, dword [0x101f75d0]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x10], eax
test eax, eax
je 0x1000c6bc
mov ecx, dword [0x101f7648]
test ecx, ecx
jne 0x1000c042
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov esi, dword [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [0x101f7648], ecx
cmp dword [ecx + eax], 0
jg 0x1000c6bc
lea ecx, [eax + 8]
mov eax, dword [ecx]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1000c6bc
cmp byte [0x101be1e4], al
jne 0x1000c0c5
mov esi, dword [0x101f76d8]
test esi, esi
jne 0x1000c0a5
mov edx, 0xe80c2f78
mov ecx, 0x10198a09
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c93d
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov esi, eax
mov dword [0x101f76d8], esi
mov ecx, dword [0x101f75d0]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
push dword [esi + edx]
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [0x101f764c]
jne 0x1000c6b8
mov esi, dword [0x101f76d8]
test esi, esi
jne 0x1000c100
mov edx, 0xe80c2f78
mov ecx, 0x10198a09
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c93d
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov esi, eax
mov dword [0x101f76d8], esi
mov ecx, dword [0x101f75d0]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
push dword [esi + edx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
call edx
mov ecx, dword [0x101c176c]
lea esi, [esp + 0x90]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xa0]
mov ecx, str.GOTV
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000c170
test dl, dl
je 0x1000c16c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000c170
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000c150
xor eax, eax
jmp 0x1000c175
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000c6b8
test esi, esi
je 0x1000c589
mov eax, dword [0x101f7648]
test eax, eax
jne 0x1000c1c0
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov esi, dword [esp + 0x10]
mov dword [0x101f7648], eax
cmp dword [eax + esi], 0
jle 0x1000c6b8
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
inc dword [0x101be208]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101c176c]
lea esi, [esp + 0x1e8]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xa0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c200
sub ecx, edx
mov dword [esp + 0x40], 0
cmp byte [0x101be1e4], 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 0x1000c3a5
call fcn.10002a40
cmp edi, dword [esp + 0x2c]
je 0x1000c276
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 0x1000c2bf
lea eax, [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.10011ec0
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000c2bb
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c2b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c6ef
push ecx
push edx
call fcn.1010fd52
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 0x1000c2e1
sub ecx, edx
lea eax, [esp + 0x1f8]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002a40
cmp ebx, dword [esp + 0x68]
je 0x1000c332
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 + 0x64], ebx
jmp 0x1000c37b
lea eax, [esp + 0x30]
push eax
push ebx
lea ecx, [esp + 0x68]
call fcn.10011ec0
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000c377
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c36d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c6ef
push ecx
push edx
call fcn.1010fd52
add esp, 8
mov ebx, dword [esp + 0x64]
lea eax, [esp + 0x1f8]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x348]
push str._s_____s
push eax
call fcn.10011100
add esp, 0x10
jmp 0x1000c446
call fcn.10002a40
cmp edi, dword [esp + 0x2c]
je 0x1000c3e0
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 0x1000c429
lea eax, [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.10011ec0
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000c425
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c41b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c6ef
push ecx
push edx
call fcn.1010fd52
add esp, 8
mov edi, dword [esp + 0x28]
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x344]
push 0x10198a3c
push eax
call fcn.10011100
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 [0x101f764c]
jne 0x1000c4b2
movss xmm1, dword [0x101b8520]
movss xmm0, dword [0x101be1e0]
mulss xmm0, xmm1
cvttss2si edx, xmm0
movss xmm0, dword [0x101be1dc]
mulss xmm0, xmm1
mov dword [esp + 0x5c], edx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101be1d8]
mulss xmm0, xmm1
mov dword [esp + 0x58], ecx
cvttss2si eax, xmm0
mov dword [esp + 0x54], eax
mov eax, dword [0x101f7868]
sub esp, 0x10
movups xmm0, xmmword [esp + 0x60]
mov dword [esp + 0x28], eax
mov eax, dword [0x101be208]
lea ecx, [eax + eax*4]
mov eax, dword [0x101be1f0]
lea eax, [eax + ecx*4]
add eax, 4
lea ecx, [esp + 0x350]
mov dword [esp + 0x20], eax
lea edx, [ecx + 1]
mov eax, esp
sub esp, 0x1c
mov esi, esp
movups xmmword [eax], xmm0
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 0x1000c502
sub ecx, edx
lea eax, [esp + 0x36c]
push ecx
push eax
mov ecx, esi
call fcn.10002a40
push dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x9c]
call fcn.100b06a0
mov eax, dword [0x101f786c]
lea ecx, [esp + 0x370]
add esp, 0x18
mov dword [esp + 0x30], 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
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c560
sub ecx, edx
lea eax, [esp + 0x358]
push ecx
push eax
mov ecx, esi
call fcn.10002a40
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x98]
jmp 0x1000c6a4
cmp byte [0x101be1e4], 0
je 0x1000c6b8
mov eax, dword [0x101be208]
lea esi, [esp + 0xa0]
mov ecx, dword [0x101f7868]
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x18], ecx
mov dword [0x101be208], 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 [0x101be1f0]
mov dword [esp + 0x80], 0xff
movups xmm0, xmmword [esp + 0x80]
lea eax, [eax + ecx*4]
add eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [0x101be1ec]
add eax, 4
mov dword [esp + 0x2c], eax
mov eax, esp
sub esp, 0x1c
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 0x1000c628
sub esi, edx
lea eax, [esp + 0xcc]
push esi
push eax
call fcn.10002a40
push dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
call fcn.100b06a0
mov eax, dword [0x101f786c]
lea ecx, [esp + 0xd0]
add esp, 0x18
mov dword [esp + 0x34], 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
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c680
sub ecx, edx
lea eax, [esp + 0xb8]
push ecx
push eax
mov ecx, esi
call fcn.10002a40
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0xa0]
call fcn.100b07a0
add esp, 0x18
movss xmm0, dword [eax]
movss dword [0x101be20c], xmm0
mov esi, dword [esp + 0xc]
mov ecx, dword [0x101c176c]
inc esi
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp esi, eax
jle 0x1000bfe5
lea ecx, [esp + 0x60]
call fcn.100032e0
lea ecx, [esp + 0x24]
call fcn.100032e0
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