Function at 0x140005800
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x298]
sub rsp, 0x370
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14005d040]
xor rax, rsp
mov qword [rbp + 0x1c8], rax
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x28], 0
xor edx, edx
mov r8d, 0x1a8
call sub.VCRUNTIME140.dll_memset
mov rcx, r14
call fcn.140003300
mov dword [rsp + 0x28], 1
movss xmm13, dword [0x140052d98]
xor r15b, r15b
mov rdi, qword [0x14005ee30]
mov r12, qword [0x14005ee38]
cmp rdi, r12
je 0x140005e0c
lea r13, [0x140000000]
xorps xmm14, xmm14
movss xmm15, dword [0x140052c78]
movss xmm12, dword [0x140052c04]
mov rcx, rdi
call fcn.140003920
test al, al
je 0x140005dfc
mov rax, qword [rdi + 0x20]
cmp rax, qword [0x14005eca0]
jne 0x14000590a
cmp rax, 0x28
jne 0x140005dfc
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.140003ad0
movss xmm0, dword [rax + 4]
ucomiss xmm0, xmm14
jp 0x140005928
je 0x140005dfc
mov rcx, rdi
call fcn.140003940
test al, al
je 0x140005dfc
lea rdx, [0x14005ec80]
lea rcx, [rbp + 0x10]
call fcn.140005f70
mov rsi, rax
mov qword [rsp + 0x40], rax
lea rcx, [rdi + 0x38]
call fcn.140003270
test al, al
je case.0x1400059c7.6
lea rcx, [rdi + 0xb0]
call fcn.140003270
test al, al
je case.0x1400059c7.6
cmp qword [rsi + 0x18], 0x12f
jne 0x140005993
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140005993
mov bl, 1
jmp 0x140005995
xor bl, bl
mov rax, qword [rdi + 0x18]
cmp rax, 0x12e
ja 0x1400059f7
je 0x1400059e5
sub rax, 2
cmp rax, 0xdb
ja case.0x1400059c7.6
movzx eax, byte [rax + r13 + 0x5e94]
mov ecx, dword [r13 + rax*4 + 0x5e80]
add rcx, r13
jmp rcx
mov edx, 0x156
mov rcx, rdi
call fcn.140004120
movzx ebx, al
jmp 0x140005a4f
mov edx, 0x28e9
jmp 0x140005a88
mov edx, 0x7c5
mov rcx, rdi
call fcn.140004120
movzx ebx, al
jmp 0x140005a4f
cmp rax, 0x231
ja 0x140005a61
je case.0x1400059c7.2
sub rax, 0x12f
je 0x140005a27
sub rax, 0xf
je case.0x1400059c7.3
cmp rax, 0x64
jmp 0x140005a6f
mov edx, 0x28e9
mov rcx, rdi
call fcn.140004120
movzx ebx, al
jmp 0x140005a4f
mov edx, 0x156
mov rcx, rdi
call fcn.140004120
test al, al
jne 0x140005a98
mov edx, 0x28e9
mov rcx, rdi
call fcn.140004120
test al, al
je 0x140005a4d
test bl, bl
je 0x140005a98
xor bl, bl
mov rcx, rsi
call fcn.140004550
test bl, bl
jne 0x140005dfc
jmp 0x140005aa4
cmp rax, 0x23b
je 0x140005a83
cmp rax, 0x32b
jne case.0x1400059c7.6
mov edx, 0x28e3
mov rcx, rdi
call fcn.140004120
movzx ebx, al
jmp 0x140005a4f
mov edx, 0x28e3
mov rcx, rdi
call fcn.140004120
test al, al
je 0x140005a4d
test bl, bl
jne 0x140005a4d
mov bl, 1
jmp 0x140005a4f
mov rcx, rsi
call fcn.140004550
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
lea r9, [rsp + 0x30]
mov r8d, 0x11
lea rdx, [rbp + 0x1b8]
mov rcx, rdi
call fcn.140003d00
lea rcx, [rbp]
call fcn.140004620
mov rbx, rax
movss xmm8, dword [rbp + 0x1bc]
movaps xmm0, xmm8
subss xmm0, dword [rax + 4]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm7, dword [rbp + 0x1b8]
movaps xmm0, xmm7
subss xmm0, dword [rbx]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movss xmm9, dword [rbp + 0x1c0]
movaps xmm0, xmm9
subss xmm0, dword [rbx + 8]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x140005b47
xorps xmm11, xmm11
sqrtss xmm11, xmm6
jmp 0x140005b53
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm11, xmm0
mov qword [rsp + 0x20], 0
ucomiss xmm7, xmm14
jp 0x140005b68
je 0x140005dfc
ucomiss xmm8, xmm14
jp 0x140005b74
je 0x140005dfc
ucomiss xmm9, xmm14
jp 0x140005b80
je 0x140005dfc
lea rcx, [rbp - 0x80]
call fcn.1400072c0
movsd xmm0, qword [rbp + 0x1b8]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rbp + 0x1c0]
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.1400024a0
test al, al
je 0x140005c6b
movss xmm0, dword [rsp + 0x20]
subss xmm0, dword [0x14005d2a0]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm0, dword [rsp + 0x24]
subss xmm0, dword [0x14005d2a4]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x140005c02
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140005c0a
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rax, qword [0x14005eff8]
cmp byte [rax + 4], 0
je 0x140005c2d
mov ecx, dword [rax + 8]
lea edx, [rcx + rcx*4]
add edx, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm11
jmp 0x140005c35
movd xmm1, dword [rax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm13, xmm0
jbe 0x140005dfc
comiss xmm1, xmm0
ja 0x140005c54
cmp dword [rax + 8], 0x64
je 0x140005c54
cmp byte [rax + 0x1c], 0
je 0x140005dfc
movaps xmm13, xmm0
mov rdx, rdi
mov rcx, r14
call fcn.140005600
mov r15b, 1
jmp 0x140005dfc
lea rcx, [rbp - 0x80]
call fcn.1400072c0
movss xmm10, dword [rbp - 0x64]
movss xmm8, dword [rbp + 0x1bc]
mulss xmm10, xmm8
movss xmm0, dword [rbp - 0x74]
movss xmm7, dword [rbp + 0x1b8]
mulss xmm0, xmm7
addss xmm10, xmm0
movss xmm1, dword [rbp - 0x54]
movss xmm6, dword [rbp + 0x1c0]
mulss xmm1, xmm6
addss xmm10, xmm1
addss xmm10, dword [rbp - 0x44]
xorps xmm9, xmm9
cvtsi2ss xmm9, dword [0x14005e95c]
mulss xmm9, xmm12
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [0x14005e940]
mulss xmm3, xmm12
movss xmm2, dword [rbp - 0x6c]
mulss xmm2, xmm8
movss xmm0, dword [rbp - 0x7c]
mulss xmm0, xmm7
addss xmm2, xmm0
movss xmm1, dword [rbp - 0x5c]
mulss xmm1, xmm6
addss xmm2, xmm1
addss xmm2, dword [rbp - 0x4c]
mulss xmm2, xmm3
divss xmm2, xmm10
subss xmm3, xmm2
subss xmm3, dword [0x14005d2a4]
movaps xmm1, xmm15
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm12, xmm0
movss xmm2, dword [rbp - 0x70]
mulss xmm2, xmm8
movss xmm0, dword [rbp - 0x80]
mulss xmm0, xmm7
addss xmm2, xmm0
movss xmm1, dword [rbp - 0x60]
mulss xmm1, xmm6
addss xmm2, xmm1
addss xmm2, dword [rbp - 0x50]
mulss xmm2, xmm9
divss xmm2, xmm10
addss xmm2, xmm9
subss xmm2, dword [0x14005d2a0]
movaps xmm1, xmm15
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm12, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm12
ja 0x140005d8e
xorps xmm0, xmm0
sqrtss xmm0, xmm12
jmp 0x140005d97
movaps xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mulss xmm0, dword [0x140052d08]
mov rax, qword [0x14005eff8]
cmp byte [rax + 4], 0
je 0x140005dc2
mov ecx, dword [rax + 8]
lea edx, [rcx + rcx*4]
add edx, edx
movd xmm1, edx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm11
jmp 0x140005dca
movd xmm1, dword [rax + 8]
cvtdq2ps xmm1, xmm1
comiss xmm13, xmm0
jbe 0x140005df3
comiss xmm1, xmm0
ja 0x140005de1
cmp dword [rax + 8], 0x64
je 0x140005de1
cmp byte [rax + 0x1c], 0
je 0x140005df3
movaps xmm13, xmm0
mov rdx, rdi
mov rcx, r14
call fcn.140005600
mov r15b, 1
movss xmm12, dword [0x140052c04]
add rdi, 0x1a8
cmp rdi, r12
jne 0x1400058e3
mov rax, r14
mov byte [0x14005e958], r15b
mov rcx, qword [rbp + 0x1c8]
xor rcx, rsp
call fcn.140049880
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret