Function at 0x18002cae0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1801da600]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x138], rdi
call fcn.18000a910
mov ecx, eax
call fcn.180024ec0
mov ebx, eax
call fcn.18000a910
mov r8d, ebx
mov ecx, eax
call fcn.180029be0
movzx ebx, byte [0x1801f2352]
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180029c50
call fcn.18002a930
call fcn.18002b0d0
cmp byte [0x1801f2336], 0
je 0x18002cb67
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002cb67
movss xmm0, dword [0x1801ba844]
jmp 0x18002cb6f
movss xmm0, dword [0x1801ba858]
call fcn.180028b20
movzx ebx, byte [0x1801f2333]
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180029c50
cmp byte [0x1801f2332], 0
je 0x18002cd54
call fcn.18000a910
mov ecx, eax
mov edx, 1
call fcn.180009f20
test eax, eax
jne 0x18002cd54
movaps xmmword [rsp + 0x110], xmm6
lea rcx, [rbp - 0x80]
movaps xmmword [rsp + 0x100], xmm7
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
call fcn.18001abc0
xor edx, edx
lea rcx, [rbp - 0x68]
call fcn.18001ab60
movss xmm1, dword [rbp - 0x68]
movss xmm2, dword [rbp - 0x58]
mulss xmm1, dword [0x1801ba7f0]
mulss xmm2, dword [0x1801ba7f0]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.18014fc83
movss xmm9, dword [rbp - 0x80]
movaps xmm7, xmm0
movss xmm10, dword [rbp - 0x78]
movaps xmm6, xmm0
movss xmm11, dword [rbp - 0x70]
movaps xmm1, xmm0
shufps xmm6, xmm0, 0xe
addss xmm11, xmm7
mulss xmm7, dword [0x1801bb0dc]
movaps xmm8, xmm6
shufps xmm6, xmm6, 1
shufps xmm1, xmm0, 1
andps xmm1, xmmword [0x1801bc070]
addss xmm7, xmm11
mulss xmm6, xmm1
mulss xmm8, xmm1
addss xmm10, xmm6
mulss xmm6, dword [0x1801bb0dc]
subss xmm9, xmm8
mulss xmm8, dword [0x1801bb940]
addss xmm6, xmm10
addss xmm8, xmm9
call fcn.18000a910
mov ecx, eax
lea rdx, [rsp + 0x74]
call fcn.180029ae0
mov edx, 0xd0
mov ecx, 2
call fcn.180028be0
test eax, eax
jne 0x18002ccc0
lea ecx, [rax + 1]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x18002cd20
call fcn.18000a910
movss xmm4, dword [0x1801bb304]
movaps xmm3, xmm8
movss dword [rsp + 0x60], xmm4
movaps xmm2, xmm11
mov dword [rsp + 0x58], 1
movaps xmm1, xmm10
mov dword [rsp + 0x50], 1
movaps xmm0, xmm9
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x32
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
call fcn.180009340
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0xc0]
xor edi, edi
cmp byte [0x1801f2322], dil
je 0x18002cde6
lea ecx, [rdi + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002cd80
lea edx, [rdi + 0x18]
lea ecx, [rdi + 2]
call fcn.180028be0
test eax, eax
je 0x18002cde6
call fcn.18001b160
mov ecx, eax
lea rdx, [rsp + 0x70]
call fcn.180029530
test eax, eax
je 0x18002cde6
mov ecx, dword [rsp + 0x70]
call fcn.180008080
test eax, eax
je 0x18002cde6
movss xmm1, dword [0x1801bb2e8]
xorps xmm3, xmm3
mov ecx, dword [rsp + 0x70]
movaps xmm2, xmm1
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call fcn.180008910
mov ecx, dword [rsp + 0x70]
call fcn.180008760
lea rcx, [rsp + 0x70]
call fcn.1800087d0
lea rcx, [rsp + 0x70]
call fcn.180008670
cmp byte [0x1801f2330], dil
je 0x18002ceef
call fcn.18000a910
mov edx, 0x19
mov dword [rbp - 0x68], edi
xor ecx, ecx
mov dword [rbp - 0x60], edi
mov ebx, eax
mov dword [rbp - 0x58], edi
call fcn.180028c40
test eax, eax
je 0x18002ceef
lea rdx, [rbp - 0x68]
mov ecx, ebx
call fcn.180029ca0
test eax, eax
je 0x18002ceef
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x80], edi
mov ecx, ebx
mov dword [rbp - 0x78], edi
mov dword [rbp - 0x70], edi
call fcn.180029ca0
test eax, eax
je 0x18002ceef
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18002ce5a
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
lea rbx, [0x180169110]
mov ecx, dword [rbx + rcx*4]
call fcn.18000a940
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18002ce80
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
mov ecx, dword [rbx + rcx*4]
call fcn.18000a970
test eax, eax
je 0x18002ceef
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], dil
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18002cebd
dec eax
or eax, 0xfffffff8
inc eax
movss xmm3, dword [rbp - 0x70]
mov ecx, 0x2c014ca6
addss xmm3, dword [0x1801ba874]
movss xmm2, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x80]
cdqe
mov eax, dword [rbx + rax*4]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0xa
call fcn.180009c10
cmp byte [0x1801f2327], dil
je 0x18002cf3b
call fcn.18000a910
mov ebx, eax
call fcn.18000a910
mov ecx, eax
call fcn.180008080
test eax, eax
je 0x18002cf3b
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x80], edi
mov ecx, ebx
mov dword [rbp - 0x78], edi
mov dword [rbp - 0x70], edi
call fcn.180029ca0
test eax, eax
je 0x18002cf3b
movss xmm2, dword [rbp - 0x70]
movss xmm1, dword [rbp - 0x78]
movss xmm0, dword [rbp - 0x80]
call fcn.180028fd0
cmp byte [0x1801f2324], dil
mov qword [rsp + 0x130], rsi
je 0x18002d06b
call fcn.18001b160
mov ecx, eax
lea rdx, [rsp + 0x78]
call fcn.180029530
test eax, eax
je 0x18002d043
call fcn.18001b160
mov ecx, eax
lea rdx, [rsp + 0x70]
call fcn.180029530
test eax, eax
je 0x18002d043
mov esi, dword [rsp + 0x70]
mov ecx, esi
call fcn.180009660
mov ebx, edi
nop
mov ecx, esi
call fcn.1800096a0
test eax, eax
jne 0x18002cfc3
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], dil
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov ecx, esi
call fcn.180009660
inc ebx
cmp ebx, 0x32
jle 0x18002cf90
mov ecx, dword [rsp + 0x70]
call fcn.180028380
test eax, eax
je 0x18002d043
mov ecx, dword [rsp + 0x70]
mov edx, 1
call fcn.180009f20
test eax, eax
je 0x18002d043
mov ecx, dword [rsp + 0x70]
xor edx, edx
call fcn.18000a110
mov ecx, dword [rsp + 0x70]
mov edx, eax
mov dword [rsp + 0x78], eax
call fcn.180028e30
test eax, eax
je 0x18002d02b
mov ecx, dword [rsp + 0x70]
call fcn.180008760
lea rcx, [rsp + 0x70]
call fcn.180008670
mov ebx, dword [rsp + 0x70]
call fcn.18000a910
mov r8d, 0xffffffff
mov edx, ebx
mov ecx, eax
call fcn.18000a0a0
mov ebx, dword [rsp + 0x70]
call fcn.18000a910
mov r8d, 0xffffffff
mov edx, ebx
mov ecx, eax
call fcn.18000a0a0
call fcn.18000a910
mov ecx, eax
call fcn.180028f90
test eax, eax
je 0x18002d06b
mov ebx, dword [rsp + 0x70]
call fcn.18000a910
mov r8d, 0xffffffff
mov edx, ebx
mov ecx, eax
call fcn.18000a0a0
cmp byte [0x1801f2337], dil
je 0x18002d0e5
mov qword [rsp + 0x140], r14
call fcn.18000a910
mov r14d, eax
lea rsi, str.WEAPON_KNIFE
nop dword [rax + rax]
mov rcx, qword [rsi]
call fcn.1800090a0
mov edx, eax
mov ecx, r14d
call fcn.180029b60
test eax, eax
je 0x18002d0d2
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, eax
and ebx, 0x80000007
jge 0x18002d0bd
dec ebx
or ebx, 0xfffffff8
inc ebx
mov rcx, qword [rsi]
call fcn.1800090a0
mov r8d, ebx
mov edx, eax
mov ecx, r14d
call fcn.180029d00
inc edi
add rsi, 8
cmp edi, 0x39
jb 0x18002d090
mov r14, qword [rsp + 0x140]
call fcn.18002a700
cmp byte [0x1801f2326], 0
mov rdi, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x130]
je 0x18002d174
mov ebx, dword [0x1801f2d34]
call fcn.18000a910
mov ecx, eax
call fcn.18000a8d0
mov edx, ebx
mov ecx, eax
call fcn.1800294d0
test eax, eax
je 0x18002d174
call fcn.18000a910
mov ecx, eax
lea rdx, [rsp + 0x74]
call fcn.180029530
mov ecx, eax
mov dword [rsp + 0x74], eax
call fcn.180028380
test eax, eax
je 0x18002d174
mov ecx, dword [rsp + 0x74]
call fcn.180009660
mov ecx, dword [rsp + 0x74]
xor edx, edx
call fcn.1800083f0
test eax, eax
je 0x18002d163
mov ecx, dword [rsp + 0x74]
call fcn.18000adb0
mov ecx, dword [rsp + 0x74]
xor r8d, r8d
mov edx, 0xc8
call fcn.180008b40
call fcn.18002a4b0
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.18014e890
mov rbx, qword [rsp + 0x148]
add rsp, 0x120
pop rbp
ret