Function at 0x1000a3c0
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x100b5080]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
mov ecx, str.Free_Camera_hotkey
call fcn.10019030
push ecx
xor edx, edx
mov ecx, str.Free_Camera_hotkey
call fcn.1002fa90
mov edx, dword [0x100b74d0]
add esp, 4
mov eax, dword [edx + 0x1a00]
mov byte [eax + 0x7c], 1
mov esi, dword [edx + 0x1a00]
cmp byte [esi + 0x7f], 0
jne 0x1000a457
movss xmm1, dword [edx + 0x1560]
addss xmm1, dword [esi + 0xd0]
movss xmm0, dword [esi + 0xd4]
movss dword [esi + 0xc8], xmm1
movss dword [esi + 0xcc], xmm0
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xfc]
mov dword [esi + 0xec], ecx
mov dword [esi + 0xf8], eax
cmp byte [0x100b5b27], 0
jne 0x1000a525
push 0
push dword [0x100b5b18]
mov dword [ebp - 0x94], 0x42c80000
mov dword [ebp - 0x90], 0
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
mov ecx, dword [0x100b5b18]
add ecx, 0xffffffdf
cmp ecx, 0x84
ja case.0x1000a49e.41
movzx ecx, byte [ecx + 0x1000a794]
jmp dword [ecx*4 + 0x1000a78c]
or eax, 0x100
push 0x80
lea ecx, [ebp - 0x8c]
shl eax, 0x10
push ecx
push eax
call dword [sym.imp.USER32.dll_GetKeyNameTextA]
cmp dword [0x100b5b18], 0
lea eax, [ebp - 0x8c]
mov ecx, 0x1009e870
lea edx, [ebp - 0x94]
cmovne ecx, eax
push ecx
call fcn.10030af0
add esp, 4
test al, al
je 0x1000a51f
mov ecx, dword [0x100b5b34]
mov eax, dword [0x100b5b38]
lea edx, [ecx + eax*4]
cmp ecx, edx
je 0x1000a513
nop word [eax + eax]
mov eax, dword [ecx]
cmp byte [eax + 0x1f], 0
je 0x1000a50c
mov byte [eax + 0x1f], 0
add ecx, 4
cmp ecx, edx
jne 0x1000a500
mov byte [0x100b5b27], 1
jmp 0x1000a6a8
mov edx, dword [0x100b74d0]
cmp byte [edx + 0x1b77], 0
mov ecx, dword [edx + 0x1a00]
je 0x1000a5a6
cmp byte [edx + 0x1b76], 0
jne 0x1000a5a6
mov eax, dword [edx + 0x1b2c]
test eax, eax
je 0x1000a553
cmp eax, dword [ecx + 0x10c]
jne 0x1000a553
mov al, 1
jmp 0x1000a555
xor al, al
test al, al
jne 0x1000a62a
cmp byte [0x100b5b27], 0
je 0x1000a6a8
push ecx
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], 0x42c80000
mov ecx, 0x1009e84c
mov dword [ebp - 0x90], 0
call fcn.10030af0
add esp, 4
test al, al
je 0x1000a63e
xor al, al
mov byte [0x100b5b27], al
jmp 0x1000a643
test byte [ecx + 0x110], 1
je 0x1000a55d
mov esi, dword [ecx + 0x2f8]
cmp dword [edx + 0x1a08], esi
jne 0x1000a55d
mov eax, dword [edx + 0x1a34]
test eax, eax
je 0x1000a5dd
cmp eax, dword [ecx + 0x10c]
je 0x1000a5dd
cmp byte [edx + 0x1a41], 0
jne 0x1000a5dd
cmp eax, dword [ecx + 0x48]
jne 0x1000a55d
mov eax, dword [edx + 0x1b28]
test eax, eax
je 0x1000a608
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x1000a608
cmp byte [eax + 0x7b], 0
je 0x1000a608
cmp eax, esi
je 0x1000a608
test dword [eax + 8], 0xc000000
jne 0x1000a55d
test byte [ecx + 0x1a4], 4
jne 0x1000a55d
mov eax, dword [ecx + 0x10c]
cmp eax, dword [ecx + 0x48]
jne 0x1000a62a
cmp byte [ecx + 0x7c], 0
jne 0x1000a55d
call fcn.10012a40
test al, al
je 0x1000a55d
call fcn.1001a3f0
jmp 0x1000a6a8
mov al, byte [0x100b5b27]
test al, al
je 0x1000a6a8
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edi, 0xff
push 0x1b
call esi
shr eax, 0xf
and al, 1
jne 0x1000a697
push 0x12
call esi
shr eax, 0xf
and al, 1
jne 0x1000a688
push 1
call esi
shr eax, 0xf
and al, 1
jne 0x1000a688
push 2
call esi
shr eax, 0xf
and al, 1
jne 0x1000a688
push edi
call esi
shr eax, 0xf
and al, 1
jne 0x1000a68f
dec edi
test edi, edi
jg 0x1000a652
jmp 0x1000a6a8
mov dword [0x100b5b18], edi
jmp 0x1000a6a1
mov dword [0x100b5b18], 0
mov byte [0x100b5b27], 0
call fcn.1001ab70
test al, al
je 0x1000a748
cmp dword [0x100b5b28], 0
mov ecx, str.Toggle
sete dl
call fcn.10032aa0
test al, al
je 0x1000a6d6
xor eax, eax
mov dword [0x100b5b28], eax
jmp 0x1000a6db
mov eax, dword [0x100b5b28]
cmp eax, 1
mov ecx, str.Repeat
sete dl
call fcn.10032aa0
test al, al
je 0x1000a6fb
mov eax, 1
mov dword [0x100b5b28], eax
jmp 0x1000a700
mov eax, dword [0x100b5b28]
cmp eax, 2
mov ecx, str.Always_Active
sete dl
call fcn.10032aa0
test al, al
je 0x1000a720
mov eax, 2
mov dword [0x100b5b28], eax
jmp 0x1000a725
mov eax, dword [0x100b5b28]
cmp eax, 3
mov ecx, 0x1009e870
sete dl
call fcn.10032aa0
test al, al
je 0x1000a743
mov dword [0x100b5b28], 3
call fcn.1001ac10
mov eax, dword [0x100b74d0]
mov esi, dword [eax + 0x1a00]
cmp dword [esi + 0xbc], 0
jg 0x1000a773
push 0x539
push str.E:Visual_Studio_ProjectsFree_CameraFree_Cameraimguiimgui.h
push str.Size___0
call fcn.10060a19
add esp, 0xc
mov ecx, dword [ebp - 8]
dec dword [esi + 0xbc]
xor ecx, ebp
pop edi
pop esi
call fcn.1004df05
mov esp, ebp
pop ebp
ret 4