Function at 0x1000bb00
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x734
cmp byte [0x101bc1ec], 0
push ebx
push esi
push edi
je 0x1000c4dc
cmp dword [0x101f5744], 1
jne 0x1000c4dc
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101bf740]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101f5ed4]
cmp eax, dword [ecx + 4]
jle 0x1000bb7c
push 0x101f5ed4
call fcn.1010e5e4
add esp, 4
cmp dword [0x101f5ed4], 0xffffffff
jne 0x1000bb7c
push 0x101f5ed4
mov dword [0x101f5ee4], 0
mov dword [0x101f5ee0], 0
call fcn.1010e593
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 [0x101bc1f0]
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 0x1000bc6e
mov eax, dword [0x101bc1f8]
add eax, 0x14
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jb 0x1000bc6e
mov ecx, dword [0x101bc1f4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x1000bc6e
mov eax, dword [0x101bc1fc]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1000bc6e
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1000bc7d
cmp byte [0x101f56f8], 0
movd xmm3, dword [esp + 0x18]
movd xmm4, dword [esp + 0x14]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
jne 0x1000bc65
movd xmm0, dword [0x101bc1f4]
movaps xmm2, xmm3
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm4
subss xmm2, xmm0
movd xmm0, dword [0x101bc1f0]
cvtdq2ps xmm0, xmm0
movss dword [0x101f5ee4], xmm2
subss xmm1, xmm0
movss dword [0x101f5ee0], xmm1
mov byte [0x101f56f8], 1
jmp 0x1000bca1
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x1000bc86
mov byte [0x101f56f8], 0
jmp 0x1000bcc3
cmp byte [0x101f56f8], 0
je 0x1000bcc3
movd xmm3, dword [esp + 0x18]
movd xmm4, dword [esp + 0x14]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
subss xmm4, dword [0x101f5ee0]
subss xmm3, dword [0x101f5ee4]
cvttss2si eax, xmm4
mov dword [0x101bc1f0], eax
cvttss2si eax, xmm3
mov dword [0x101bc1f4], eax
push dword [0x101bc1f8]
call fcn.1000b8f0
movss xmm0, dword [0x101bc1e0]
sub esp, 0xc
movss xmm1, dword [0x101b6598]
mulss xmm0, xmm1
mov edi, dword [0x101bc1f4]
mov dword [esp + 0x60], 0xff
cvttss2si edx, xmm0
movss xmm0, dword [0x101bc1dc]
mulss xmm0, xmm1
mov dword [esp + 0x6c], edx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101bc1d8]
mulss xmm0, xmm1
mov dword [esp + 0x68], ecx
mov ecx, dword [0x101bc1f0]
add ecx, 0xffffffd6
cvttss2si eax, xmm0
mov dword [esp + 0x64], eax
mov eax, dword [0x101bc1f8]
movups xmm0, xmmword [esp + 0x60]
cdq
sub eax, edx
lea edx, [edi + 4]
sar eax, 1
add ecx, eax
mov eax, esp
sub esp, 0x1c
mov esi, esp
movups xmmword [eax], xmm0
push dword [0x101f5874]
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 [0x10196a24]
mov dword [esi + 8], eax
mov ax, word [0x10196a28]
mov word [esi + 0xc], ax
mov byte [esi + 0xe], 0
call fcn.100aeeb0
mov ecx, dword [0x101bf77c]
add esp, 0x30
xor edi, edi
mov dword [0x101bc20c], 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 0x1000c4ca
mov ecx, dword [0x101f55e0]
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 0x1000c4b0
mov eax, dword [0x101f5658]
test eax, eax
jne 0x1000be31
mov edx, 0xe80c2f78
mov ecx, 0x1014a9e5
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [0x101f5658], eax
cmp dword [eax + ecx], 0
jg 0x1000c4b0
mov eax, dword [ecx + 8]
add ecx, 8
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1000c4b0
cmp byte [0x101bc1e4], al
jne 0x1000beb5
mov esi, dword [0x101f56e8]
test esi, esi
jne 0x1000be95
mov edx, 0xe80c2f78
mov ecx, 0x10196a09
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a935
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov esi, eax
mov dword [0x101f56e8], esi
mov ecx, dword [0x101f55e0]
mov edx, dword [esp + 0xc]
mov eax, dword [ecx]
push dword [esi + edx]
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [0x101f565c]
jne 0x1000c4ac
mov esi, dword [0x101f56e8]
test esi, esi
jne 0x1000bef0
mov edx, 0xe80c2f78
mov ecx, 0x10196a09
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a935
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov esi, eax
mov dword [0x101f56e8], esi
mov ecx, dword [0x101f55e0]
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 [0x101bf77c]
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
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000bf60
test dl, dl
je 0x1000bf5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000bf60
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000bf40
xor eax, eax
jmp 0x1000bf65
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000c4ac
test esi, esi
je 0x1000c37d
mov eax, dword [0x101f5658]
test eax, eax
jne 0x1000bfb0
mov edx, 0xe80c2f78
mov ecx, 0x1014a9e5
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov esi, dword [esp + 0xc]
mov dword [0x101f5658], eax
cmp dword [eax + esi], 0
jle 0x1000c4ac
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
inc dword [0x101bc20c]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101bf77c]
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]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000bff0
sub ecx, edx
mov dword [esp + 0x40], 0
cmp byte [0x101bc1e4], 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 0x1000c195
call fcn.10002920
cmp edi, dword [esp + 0x2c]
je 0x1000c066
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 0x1000c0af
lea eax, [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.10011e00
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000c0ab
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c0a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c4e3
push ecx
push edx
call fcn.1010e562
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 0x1000c0d1
sub ecx, edx
lea eax, [esp + 0x1f8]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002920
cmp ebx, dword [esp + 0x6c]
je 0x1000c122
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 0x1000c16b
lea eax, [esp + 0x30]
push eax
push ebx
lea ecx, [esp + 0x6c]
call fcn.10011e00
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000c167
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c15d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c4e3
push ecx
push edx
call fcn.1010e562
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.10010ef0
add esp, 0x10
jmp 0x1000c236
call fcn.10002920
cmp edi, dword [esp + 0x2c]
je 0x1000c1d0
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 0x1000c219
lea eax, [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x2c]
call fcn.10011e00
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x1000c215
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c20b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c4e3
push ecx
push edx
call fcn.1010e562
add esp, 8
mov edi, dword [esp + 0x28]
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x344]
push 0x10196a40
push eax
call fcn.10010ef0
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 [0x101f565c]
jne 0x1000c2a2
movss xmm1, dword [0x101b6598]
movss xmm0, dword [0x101bc1e0]
mulss xmm0, xmm1
cvttss2si edx, xmm0
movss xmm0, dword [0x101bc1dc]
mulss xmm0, xmm1
mov dword [esp + 0x5c], edx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101bc1d8]
mulss xmm0, xmm1
mov dword [esp + 0x58], ecx
cvttss2si eax, xmm0
mov dword [esp + 0x54], eax
mov eax, dword [0x101f5870]
lea esi, [esp + 0x340]
movups xmm0, xmmword [esp + 0x50]
mov dword [esp + 0x20], eax
lea edx, [esi + 1]
mov eax, dword [0x101bc20c]
sub esp, 0x10
lea ecx, [eax + eax*4]
mov eax, dword [0x101bc1f4]
lea eax, [eax + ecx*4]
add eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [0x101bc1f0]
add eax, 4
mov dword [esp + 0x24], 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
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x1000c300
sub esi, edx
lea eax, [esp + 0x36c]
push esi
push eax
call fcn.10002920
push dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
call fcn.100aeeb0
mov eax, dword [0x101f5874]
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 0x1000c354
sub ecx, edx
lea eax, [esp + 0x358]
push ecx
push eax
mov ecx, esi
call fcn.10002920
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x98]
jmp 0x1000c498
cmp byte [0x101bc1e4], 0
je 0x1000c4ac
mov eax, dword [0x101bc20c]
lea esi, [esp + 0xa0]
mov ecx, dword [0x101f5870]
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x14], ecx
mov dword [0x101bc20c], 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 [0x101bc1f4]
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 [0x101bc1f0]
add eax, 4
mov dword [esp + 0x1c], 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
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x1000c420
sub esi, edx
lea eax, [esp + 0xcc]
push esi
push eax
call fcn.10002920
push dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
call fcn.100aeeb0
mov eax, dword [0x101f5874]
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 0x1000c474
sub ecx, edx
lea eax, [esp + 0xb8]
push ecx
push eax
mov ecx, esi
call fcn.10002920
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0xa0]
call fcn.100aefb0
add esp, 0x18
movss xmm0, dword [eax]
movss dword [0x101bc210], xmm0
mov esi, dword [esp + 0x10]
mov ecx, dword [0x101bf77c]
inc esi
mov dword [esp + 0x10], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp esi, eax
jle 0x1000bdd6
lea ecx, [esp + 0x64]
call fcn.10003080
lea ecx, [esp + 0x24]
call fcn.10003080
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