Function at 0x100805b0
Capabilities:
Log keystrokes

Disassembly:
mov eax, dword [0x101491ec]
push ebx
mov ebx, dword [esp + 0x10]
push esi
push edi
mov edi, ecx
test eax, eax
je 0x100805cf
cmp dword [eax + 0x14e0], 0
jne 0x100808a0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [esp + 0x10]
jne 0x100808a0
mov ecx, dword [0x1011572c]
call fcn.10012401
mov esi, dword [esp + 0x14]
test al, al
je 0x10080617
call fcn.10039b5d
test al, al
jne 0x10080617
push dword [esp + 0x1c]
mov ecx, dword [0x1011572c]
push ebx
push esi
call fcn.10012820
test al, al
je 0x10080617
mov al, 1
jmp 0x100808a2
cmp esi, 0x202
ja 0x10080840
mov eax, 0x201
cmp esi, eax
jae 0x10080838
cmp esi, 8
je 0x1008082f
cmp esi, 0xff
jbe 0x100808a0
cmp esi, 0x101
jbe 0x1008065c
lea eax, [esi - 0x104]
cmp eax, 1
ja 0x100808a0
cmp esi, 0x100
je 0x10080671
mov byte [esp + 0x18], 0
cmp esi, 0x104
jne 0x10080676
mov byte [esp + 0x18], 1
mov eax, dword [esp + 0x1c]
sar eax, 0x10
movzx esi, al
mov eax, ebx
push ebp
sub eax, 0x10
je 0x100806f1
sub eax, 1
je 0x100806c3
sub eax, 1
jne 0x1008071f
mov ebp, dword [sym.imp.USER32.dll_MapVirtualKeyA]
push eax
push 0xa4
call ebp
cmp esi, eax
jne 0x100806af
mov ebx, 0xa4
jmp 0x1008071f
push 0
push 0xa5
call ebp
cmp esi, eax
jne 0x1008071f
mov ebx, 0xa5
jmp 0x1008071f
mov ebp, dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
push 0xa2
call ebp
cmp esi, eax
jne 0x100806dd
mov ebx, 0xa2
jmp 0x1008071f
push 0
push 0xa3
call ebp
cmp esi, eax
jne 0x1008071f
mov ebx, 0xa3
jmp 0x1008071f
mov ebp, dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
push 0xa0
call ebp
cmp esi, eax
jne 0x1008070b
mov ebx, 0xa0
jmp 0x1008071f
push 0
mov eax, 0xa1
push eax
call ebp
cmp esi, eax
mov eax, 0xa1
cmove ebx, eax
mov cl, byte [esp + 0x1c]
movzx eax, bl
imul eax, eax, 3
mov byte [eax + edi], cl
mov ecx, dword [0x1011572c]
call fcn.10012408
mov esi, 0xc0
pop ebp
test al, al
je 0x100807e2
mov eax, dword [0x101156c0]
mov dl, byte [eax + 2]
cmp ebx, esi
je 0x10080762
cmp ebx, 0x32
jne 0x100807e2
test dl, dl
je 0x100808a0
mov cl, byte [esp + 0x18]
test cl, cl
jne 0x100807e6
mov eax, dword [0x1011572c]
cmp byte [eax + 0xac], cl
je 0x100807e6
cmp ebx, esi
jne 0x10080787
cmp byte [edi + 0x96], cl
jne 0x100807b0
test dl, dl
je 0x100807b0
cmp ebx, 0x32
je 0x10080790
test dl, dl
jne 0x10080799
cmp byte [edi + 0x240], 0
jne 0x100807b0
mov ecx, dword [0x1011572c]
call fcn.10012401
test al, al
je 0x100807e2
cmp ebx, esi
jne 0x100808a0
mov ecx, dword [0x1011572c]
call fcn.10012401
neg al
sbb al, al
inc al
movzx ecx, al
push ecx
mov ecx, dword [0x1011572c]
call fcn.10012ebb
mov ecx, dword [0x1011572c]
mov byte [ecx + 0xac], 0
jmp 0x10080610
mov cl, byte [esp + 0x18]
cmp ebx, esi
jne 0x100808a0
mov eax, dword [0x101156c0]
cmp byte [eax + 2], 0
je 0x1008081e
test cl, cl
jne 0x1008081e
mov eax, dword [0x1011572c]
cmp byte [eax + 0xac], cl
je 0x1008081e
cmp dword [0x101491d8], 0
je 0x1008081e
mov ecx, dword [0x101491ec]
call sym.SAMPFUNCS.asi_public:_void___thiscall_stInputInfo::EnableInput_void_
mov eax, dword [0x1011572c]
mov cl, byte [esp + 0x18]
mov byte [eax + 0xac], cl
jmp 0x100808a0
mov ecx, edi
call fcn.1008059d
jmp 0x100808a0
sete al
mov byte [edi + 3], al
jmp 0x100808a0
mov eax, 0x204
cmp esi, eax
jb 0x100808a0
cmp esi, 0x205
jbe 0x10080898
cmp esi, 0x206
jbe 0x100808a0
cmp esi, 0x208
jbe 0x1008088a
lea eax, [esi - 0x20b]
cmp eax, 1
ja 0x100808a0
cmp esi, 0x20b
push 0xf
sete cl
shr ebx, 0x10
pop eax
push 0x12
cmp bx, 2
pop edx
cmove eax, edx
mov byte [eax + edi], cl
jmp 0x100808a0
cmp esi, 0x207
sete al
mov byte [edi + 0xc], al
jmp 0x100808a0
cmp esi, eax
sete al
mov byte [edi + 6], al
xor al, al
pop edi
pop esi
pop ebx
ret 0x10