Function at 0x14005e830
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x230
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 [0x140090380]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rcx, qword [0x1400909e0]
add rcx, 0x12d17a08
call fcn.140056230
mov qword [0x140090a70], rax
lea rcx, [rax + 0x1f0]
call fcn.140056230
mov qword [0x140090a78], rax
lea rcx, [rax + 0x38]
call fcn.140056230
mov rcx, rax
call fcn.140056230
mov qword [0x140090a80], rax
lea rcx, [rax + 0x30]
call fcn.140056230
mov qword [0x140090a88], rax
lea rcx, [rax + 0x350]
call fcn.140056230
mov qword [0x140090a90], rax
xor r13d, r13d
test rax, rax
je 0x14005e9f9
lea rcx, [rax + 0x1b0]
call fcn.140056230
mov qword [0x140090a98], rax
add rax, 0x120
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm6, xmm6
movsd qword [rsp + 0x70], xmm6
mov dword [rbp + 0x51], r13d
mov word [rbp + 0x55], r13w
mov byte [rbp + 0x57], r13b
mov dword [rbp + 0x30], 0x9af2b37
mov qword [rbp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0x18
mov eax, dword [0x1400909f0]
mov dword [rbp + 0x34], eax
mov byte [rbp + 0x50], r13b
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x30]
mov edx, 0x228d14
mov rcx, qword [0x1400909e8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [0x140090090], xmm0
movsd xmm0, qword [rsp + 0x70]
movsd qword [0x1400900a0], xmm0
mov rcx, qword [0x140090a90]
add rcx, 0x2b0
call fcn.140056230
mov qword [0x140090aa0], rax
lea rcx, [rax + 0xf28]
call fcn.140055fe0
mov dword [0x140090ac8], eax
mov rax, qword [0x140090a90]
jmp 0x14005e9fc
xorps xmm6, xmm6
lea rcx, [rax + 0x9d8]
call fcn.140056230
mov qword [0x140090ac0], rax
mov rcx, qword [0x140090a70]
add rcx, 0x178
call fcn.140056230
mov qword [0x140090aa8], rax
lea rcx, [rax + 0x2c0]
call fcn.140056230
mov qword [0x140090ab0], rax
mov rcx, qword [0x140090aa8]
add rcx, 0x2c8
call fcn.140055fe0
mov dword [0x140090acc], eax
mov rax, qword [0x140090a98]
add rax, 0x120
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x70], xmm6
mov dword [rbp + 0x51], r13d
mov word [rbp + 0x55], r13w
mov byte [rbp + 0x57], r13b
mov dword [rbp + 0x30], 0x9af2b37
mov qword [rbp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0x18
mov eax, dword [0x1400909f0]
mov dword [rbp + 0x34], eax
mov byte [rbp + 0x50], r13b
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0x30]
mov edx, 0x228d14
mov rcx, qword [0x1400909e8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [0x140090090], xmm0
movsd xmm0, qword [rsp + 0x70]
movsd qword [0x1400900a0], xmm0
mov dword [0x140090ad0], 0x7f7fffff
mov qword [0x140090ab8], r13
mov r12d, r13d
cmp dword [0x140090acc], r13d
jle 0x14005f2c3
movss xmm13, dword [0x140072744]
movss xmm14, dword [0x140072778]
nop dword [rax]
nop word [rax + rax]
movsxd rcx, r12d
mov rax, qword [0x140090ab0]
lea rcx, [rax + rcx*8]
call fcn.140056230
mov rsi, rax
test rax, rax
je 0x14005f2b3
mov rcx, qword [0x140090aa0]
add rcx, 0xf28
call fcn.140055fe0
mov ebx, eax
lea rcx, [rsi + 0xf28]
call fcn.140055fe0
test ebx, ebx
je 0x14005eb7c
cmp eax, ebx
je 0x14005f2b3
lea rcx, [rsi + 0x320]
call fcn.140056230
mov r14, rax
test rax, rax
je 0x14005f2b3
cmp rax, qword [0x140090a90]
je 0x14005f2b3
lea rcx, [rax + 0x328]
call fcn.140056230
mov rdi, rax
test rax, rax
je 0x14005f2b3
mov r8d, 0x6e
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140060180
movsd xmm2, qword [rsp + 0x50]
addsd xmm2, qword [0x14007e618]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm1
movsd qword [rbp + 0x40], xmm2
movsd qword [rsp + 0x50], xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.140064590
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.140060180
movsd xmm8, qword [rbp - 0x20]
movaps xmm1, xmm8
subsd xmm1, qword [0x14007e628]
movsd xmm7, qword [rbp - 0x30]
movsd xmm6, qword [rbp - 0x28]
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp - 0x30], xmm0
movsd qword [rbp + 0x40], xmm1
movsd qword [rbp - 0x20], xmm1
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x48]
call fcn.140064590
movsd xmm9, qword [rbp - 8]
movaps xmm0, xmm9
movsd xmm10, qword [rbp - 0x40]
subsd xmm0, xmm10
andps xmm0, xmmword [0x140077200]
cvtpd2ps xmm12, xmm0
movaps xmm11, xmm12
mulss xmm11, xmm13
subsd xmm6, qword [0x140090098]
cvtpd2ps xmm0, xmm6
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
subsd xmm7, qword [0x140090090]
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
subsd xmm8, qword [0x1400900a0]
cvtpd2ps xmm0, xmm8
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14005ecd1
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14005ecd9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x1400771c0]
xorps xmm15, xmm15
cvtsd2ss xmm15, xmm0
movsd xmm7, qword [rbp - 0x10]
cmp byte [0x140090085], 0
je 0x14005f231
cmp byte [0x140090086], 0
je 0x14005ee3f
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movaps xmmword [rbp + 0x40], xmm1
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x60], xmm1
movsd qword [rbp + 0x70], xmm0
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.14005f370
movdqa xmm8, xmmword [0x14007e750]
movdqa xmmword [rsp + 0x40], xmm8
call fcn.14001eb40
mov rbx, rax
lea rcx, [rsp + 0x40]
call fcn.14001ba70
movsd xmm0, qword [rbp + 0x68]
movsd xmm4, qword [rbp + 0x50]
addsd xmm0, xmm4
cvtpd2ps xmm2, xmm0
movsd xmm1, qword [rbp + 0x60]
movsd xmm3, qword [rbp + 0x48]
addsd xmm1, xmm3
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm2
cvtpd2ps xmm1, xmm4
cvtpd2ps xmm0, xmm3
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm1
movss dword [rsp + 0x30], xmm13
mov dword [rsp + 0x28], r13d
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140033bb0
cmp byte [0x140090a6c], 0
je 0x14005ee3f
lea rcx, [rdi + 0x2e0]
call fcn.140056080
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.140056080
cvttss2si r9d, xmm12
cvttss2si r8d, xmm11
mulss xmm11, xmm13
cvtps2pd xmm1, xmm11
addss xmm0, dword [0x140076fb4]
cvttsd2si edx, xmm9
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
comiss xmm0, xmm6
movaps xmm0, xmm7
subsd xmm0, xmm1
cvttsd2si ecx, xmm0
jb 0x14005ee33
movdqa xmm8, xmmword [0x14007e760]
movdqa xmmword [rsp + 0x40], xmm8
call fcn.14005e710
jmp 0x14005ee48
movdqa xmmword [rsp + 0x40], xmm8
call fcn.14005e710
movdqa xmm8, xmmword [0x14007e760]
cmp byte [0x140090a6d], 0
je 0x14005ef71
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140060ca0
mov rbx, rax
mov qword [rsp + 0x40], rax
movdqa xmm12, xmmword [0x14007e770]
movdqa xmmword [rbp + 0x20], xmm12
movaps xmm6, xmm9
subsd xmm6, qword [0x14007e620]
call fcn.14001eb40
mov r15, rax
mov rdi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14005ee99
mov rdi, qword [rbx]
lea rcx, [rbp + 0x20]
call fcn.14001ba70
mov esi, eax
cvtpd2ps xmm6, xmm6
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14005eeb5
mov rdx, qword [rbx]
movss xmm11, dword [0x1400727c4]
movss dword [rsp + 0x20], xmm11
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp]
call fcn.14001aa20
movss xmm0, dword [rax]
mulss xmm0, xmm13
cvtps2pd xmm1, xmm0
movaps xmm2, xmm7
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm6
mov qword [rsp + 0x20], r13
mov r9, rdi
mov r8d, esi
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.140033e70
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14005ef47
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14005ef42
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005f351
mov rcx, r8
call fcn.14006d3d4
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
call fcn.14001eb30
addss xmm0, xmm14
cvtss2sd xmm0, xmm0
addsd xmm9, xmm0
movsd qword [rbp - 8], xmm9
jmp 0x14005ef83
movss xmm11, dword [0x1400727c4]
movdqa xmm12, xmmword [0x14007e770]
movsd xmm6, qword [rbp - 0x48]
cmp byte [0x140090a6e], 0
je 0x14005f0fb
mov rdx, r14
lea rcx, [rbp + 0x30]
call fcn.1400611a0
nop
cmp qword [rbp + 0x40], 0
jne 0x14005efbf
mov r8d, 5
lea rdx, str.Empty
lea rcx, [rbp + 0x30]
call fcn.14005e3c0
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x30]
call fcn.140056700
mov rbx, rax
mov qword [rsp + 0x40], rax
movdqa xmmword [rsp + 0x60], xmm8
call fcn.14001eb40
mov r15, rax
mov rdi, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14005eff0
mov rdi, qword [rbx]
lea rcx, [rsp + 0x60]
call fcn.14001ba70
mov esi, eax
cvtpd2ps xmm8, xmm10
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14005f00e
mov rdx, qword [rbx]
movss dword [rsp + 0x20], xmm11
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 8]
call fcn.14001aa20
movss xmm0, dword [rax]
mulss xmm0, xmm13
cvtps2pd xmm1, xmm0
movaps xmm2, xmm6
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm8
mov qword [rsp + 0x20], r13
mov r9, rdi
mov r8d, esi
lea rdx, [rbp - 0x68]
mov rcx, r15
call fcn.140033e70
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14005f098
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14005f093
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005f358
mov rcx, r8
call fcn.14006d3d4
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
call fcn.14001eb30
addss xmm0, xmm14
cvtss2sd xmm0, xmm0
addsd xmm10, xmm0
movsd qword [rbp - 0x40], xmm10
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x14005f0fb
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f0f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005f35f
call fcn.14006d3d4
cmp byte [0x140090088], 0
je 0x14005f1ad
movdqa xmmword [rsp + 0x40], xmm12
cvtps2pd xmm2, xmm15
movq r8, xmm2
lea rdx, str._.fm
lea rcx, [rbp + 0x30]
call fcn.140056470
call fcn.14001eb40
mov rdi, rax
lea rcx, [rsp + 0x40]
call fcn.14001ba70
mov ebx, eax
movss dword [rsp + 0x20], xmm11
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.14001aa20
movss xmm0, dword [rax]
mulss xmm0, xmm13
cvtps2pd xmm1, xmm0
movaps xmm2, xmm6
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x60], xmm0
cvtpd2ps xmm1, xmm10
movss dword [rbp - 0x5c], xmm1
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x30]
mov r8d, ebx
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.140033e70
call fcn.14001eb30
addss xmm0, xmm14
cvtss2sd xmm0, xmm0
addsd xmm10, xmm0
movsd qword [rbp - 0x40], xmm10
cmp byte [0x140090087], 0
je 0x14005f231
movdqa xmm0, xmmword [0x14007e750]
movdqa xmmword [rsp + 0x40], xmm0
call fcn.14001eb40
mov rbx, rax
lea rcx, [rsp + 0x40]
call fcn.14001ba70
mov r9d, eax
cvtpd2ps xmm0, xmm6
movss dword [rbp - 0x58], xmm0
cvtpd2ps xmm1, xmm10
movss dword [rbp - 0x54], xmm1
mov eax, dword [0x140090a1c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
movd xmm1, dword [0x140090a28]
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x4c], xmm1
movss xmm0, dword [0x14007272c]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.140032bc0
mov eax, dword [0x140090a1c]
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm7, xmm0
mov eax, dword [0x140090a28]
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm9, xmm0
mulsd xmm9, xmm9
mulsd xmm7, xmm7
addsd xmm9, xmm7
cvtpd2ps xmm1, xmm9
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14005f282
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14005f28a
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x14009007c]
comiss xmm1, xmm0
jb 0x14005f2b3
movss xmm1, dword [0x140090ad0]
comiss xmm1, xmm0
jbe 0x14005f2b3
movss dword [0x140090ad0], xmm0
mov qword [0x140090ab8], r14
inc r12d
cmp r12d, dword [0x140090acc]
jl 0x14005eb30
cmp byte [0x140090078], 0
je 0x14005f2e9
mov ecx, dword [0x140090a18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005f2e9
mov rcx, qword [0x140090ab8]
call fcn.14005e060
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.14006d660
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3