Function at 0x18002d250
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1801da5d0]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x138], rdi
call fcn.18000a950
mov ecx, eax
call fcn.1800255e0
mov ebx, eax
call fcn.18000a950
mov r8d, ebx
mov ecx, eax
call fcn.18002a330
movzx ebx, byte [0x1801f22e2]
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.18002a3a0
call fcn.18002b080
call fcn.18002b820
cmp byte [0x1801f22c6], 0
je 0x18002d2d7
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002d2d7
movss xmm0, dword [0x1801ba844]
jmp 0x18002d2df
movss xmm0, dword [0x1801ba858]
call fcn.180029270
movzx ebx, byte [0x1801f22c3]
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.18002a3a0
cmp byte [0x1801f22c2], 0
je 0x18002d4c4
call fcn.18000a950
mov ecx, eax
mov edx, 1
call fcn.180009f60
test eax, eax
jne 0x18002d4c4
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.18001b2e0
xor edx, edx
lea rcx, [rbp - 0x68]
call fcn.18001b280
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.180150473
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 [0x1801bbfe0]
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.18000a950
mov ecx, eax
lea rdx, [rsp + 0x74]
call fcn.18002a230
mov edx, 0xd0
mov ecx, 2
call fcn.180029330
test eax, eax
jne 0x18002d430
lea ecx, [rax + 1]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x18002d490
call fcn.18000a950
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.180009380
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 [0x1801f22b2], dil
je 0x18002d556
lea ecx, [rdi + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002d4f0
lea edx, [rdi + 0x18]
lea ecx, [rdi + 2]
call fcn.180029330
test eax, eax
je 0x18002d556
call fcn.18001b880
mov ecx, eax
lea rdx, [rsp + 0x70]
call fcn.180029c80
test eax, eax
je 0x18002d556
mov ecx, dword [rsp + 0x70]
call fcn.1800080c0
test eax, eax
je 0x18002d556
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.180008950
mov ecx, dword [rsp + 0x70]
call fcn.1800087a0
lea rcx, [rsp + 0x70]
call fcn.180008810
lea rcx, [rsp + 0x70]
call fcn.1800086b0
cmp byte [0x1801f22c0], dil
je 0x18002d65f
call fcn.18000a950
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.180029390
test eax, eax
je 0x18002d65f
lea rdx, [rbp - 0x68]
mov ecx, ebx
call fcn.18002a3f0
test eax, eax
je 0x18002d65f
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x80], edi
mov ecx, ebx
mov dword [rbp - 0x78], edi
mov dword [rbp - 0x70], edi
call fcn.18002a3f0
test eax, eax
je 0x18002d65f
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18002d5ca
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
lea rbx, [0x180169130]
mov ecx, dword [rbx + rcx*4]
call fcn.18000a980
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000007
jge 0x18002d5f0
dec eax
or eax, 0xfffffff8
inc eax
movsxd rcx, eax
mov ecx, dword [rbx + rcx*4]
call fcn.18000a9b0
test eax, eax
je 0x18002d65f
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 0x18002d62d
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.180009c50
cmp byte [0x1801f22b7], dil
je 0x18002d6ab
call fcn.18000a950
mov ebx, eax
call fcn.18000a950
mov ecx, eax
call fcn.1800080c0
test eax, eax
je 0x18002d6ab
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x80], edi
mov ecx, ebx
mov dword [rbp - 0x78], edi
mov dword [rbp - 0x70], edi
call fcn.18002a3f0
test eax, eax
je 0x18002d6ab
movss xmm2, dword [rbp - 0x70]
movss xmm1, dword [rbp - 0x78]
movss xmm0, dword [rbp - 0x80]
call fcn.180029720
cmp byte [0x1801f22b4], dil
mov qword [rsp + 0x130], rsi
je 0x18002d7db
call fcn.18001b880
mov ecx, eax
lea rdx, [rsp + 0x78]
call fcn.180029c80
test eax, eax
je 0x18002d7b3
call fcn.18001b880
mov ecx, eax
lea rdx, [rsp + 0x70]
call fcn.180029c80
test eax, eax
je 0x18002d7b3
mov esi, dword [rsp + 0x70]
mov ecx, esi
call fcn.1800096a0
mov ebx, edi
nop
mov ecx, esi
call fcn.1800096e0
test eax, eax
jne 0x18002d733
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.1800096a0
inc ebx
cmp ebx, 0x32
jle 0x18002d700
mov ecx, dword [rsp + 0x70]
call fcn.180028ad0
test eax, eax
je 0x18002d7b3
mov ecx, dword [rsp + 0x70]
mov edx, 1
call fcn.180009f60
test eax, eax
je 0x18002d7b3
mov ecx, dword [rsp + 0x70]
xor edx, edx
call fcn.18000a150
mov ecx, dword [rsp + 0x70]
mov edx, eax
mov dword [rsp + 0x78], eax
call fcn.180029580
test eax, eax
je 0x18002d79b
mov ecx, dword [rsp + 0x70]
call fcn.1800087a0
lea rcx, [rsp + 0x70]
call fcn.1800086b0
mov ebx, dword [rsp + 0x70]
call fcn.18000a950
mov r8d, 0xffffffff
mov edx, ebx
mov ecx, eax
call fcn.18000a0e0
mov ebx, dword [rsp + 0x70]
call fcn.18000a950
mov r8d, 0xffffffff
mov edx, ebx
mov ecx, eax
call fcn.18000a0e0
call fcn.18000a950
mov ecx, eax
call fcn.1800296e0
test eax, eax
je 0x18002d7db
mov ebx, dword [rsp + 0x70]
call fcn.18000a950
mov r8d, 0xffffffff
mov edx, ebx
mov ecx, eax
call fcn.18000a0e0
cmp byte [0x1801f22c7], dil
je 0x18002d855
mov qword [rsp + 0x140], r14
call fcn.18000a950
mov r14d, eax
lea rsi, str.WEAPON_KNIFE
nop dword [rax + rax]
mov rcx, qword [rsi]
call fcn.1800090e0
mov edx, eax
mov ecx, r14d
call fcn.18002a2b0
test eax, eax
je 0x18002d842
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, eax
and ebx, 0x80000007
jge 0x18002d82d
dec ebx
or ebx, 0xfffffff8
inc ebx
mov rcx, qword [rsi]
call fcn.1800090e0
mov r8d, ebx
mov edx, eax
mov ecx, r14d
call fcn.18002a450
inc edi
add rsi, 8
cmp edi, 0x39
jb 0x18002d800
mov r14, qword [rsp + 0x140]
call fcn.18002ae50
cmp byte [0x1801f22b6], 0
mov rdi, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x130]
je 0x18002d8e4
mov ebx, dword [0x1801f2cc4]
call fcn.18000a950
mov ecx, eax
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180029c20
test eax, eax
je 0x18002d8e4
call fcn.18000a950
mov ecx, eax
lea rdx, [rsp + 0x74]
call fcn.180029c80
mov ecx, eax
mov dword [rsp + 0x74], eax
call fcn.180028ad0
test eax, eax
je 0x18002d8e4
mov ecx, dword [rsp + 0x74]
call fcn.1800096a0
mov ecx, dword [rsp + 0x74]
xor edx, edx
call fcn.180008430
test eax, eax
je 0x18002d8d3
mov ecx, dword [rsp + 0x74]
call fcn.18000adf0
mov ecx, dword [rsp + 0x74]
xor r8d, r8d
mov edx, 0xc8
call fcn.180008b80
call fcn.18002ac00
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.18014f070
mov rbx, qword [rsp + 0x148]
add rsp, 0x120
pop rbp
ret