Function at 0x14003aad0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x148]
sub rsp, 0x240
mov rax, qword [0x14004b010]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rdx, qword [0x14004b718]
mov qword [r11 - 0x10], r12
add rdx, 0x10aec0b8
mov qword [r11 - 0x18], r13
call fcn.14003c2f0
mov qword [0x14004b890], rax
lea rdx, [rax + 0x1b8]
call fcn.14003c2f0
mov qword [0x14004b880], rax
lea rdx, [rax + 0x38]
call fcn.14003c2f0
mov rdx, rax
call fcn.14003c2f0
mov qword [0x14004b850], rax
lea rdx, [rax + 0x30]
call fcn.14003c2f0
mov qword [0x14004b888], rax
lea rdx, [rax + 0x338]
call fcn.14003c2f0
mov qword [0x14004b858], rax
test rax, rax
je 0x14003abe3
lea rdx, [rax + 0x198]
call fcn.14003c2f0
xorps xmm0, xmm0
mov qword [0x14004b838], rax
mov r8d, 0x18
movsd qword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rax + 0x128]
movups xmmword [rsp + 0x50], xmm0
call fcn.140038550
movups xmm0, xmmword [rsp + 0x50]
mov rdx, qword [0x14004b858]
add rdx, 0x2b0
movups xmmword [0x14004b0a0], xmm0
movsd xmm0, qword [rsp + 0x60]
movsd qword [0x14004b0b0], xmm0
call fcn.14003c2f0
mov qword [0x14004b840], rax
lea rdx, [rax + 0x10e0]
call fcn.14003c630
mov dword [0x14004b868], eax
mov rdx, qword [0x14004b890]
add rdx, 0x158
call fcn.14003c2f0
mov qword [0x14004b870], rax
lea rdx, [rax + 0x2a8]
call fcn.14003c2f0
mov rdx, qword [0x14004b870]
add rdx, 0x2b0
mov qword [0x14004b860], rax
call fcn.14003c630
xor r13d, r13d
mov dword [0x14004b848], eax
mov dword [0x14004b878], 0x7f7fffff
mov r12d, r13d
mov qword [0x14004b830], r13
test eax, eax
jle 0x14003b35f
mov qword [rsp + 0x250], rbx
movaps xmmword [rsp + 0x1a0], xmm13
movss xmm13, dword [0x14004454c]
movaps xmmword [rsp + 0x190], xmm14
movss xmm14, dword [0x140044524]
movaps xmmword [rsp + 0x180], xmm15
xorps xmm15, xmm15
mov qword [rsp + 0x258], rsi
mov qword [rsp + 0x260], rdi
mov qword [rsp + 0x228], r14
mov qword [rsp + 0x220], r15
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x1e0], xmm9
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1c0], xmm11
movaps xmmword [rsp + 0x1b0], xmm12
nop
mov rax, qword [0x14004b860]
movsxd rcx, r12d
lea rdx, [rax + rcx*8]
call fcn.14003c2f0
mov rbx, rax
test rax, rax
je 0x14003b2cf
lea rdx, [rax + 0x10e0]
call fcn.14003c630
cmp eax, dword [0x14004b868]
je 0x14003b2cf
lea rdx, [rbx + 0x308]
call fcn.14003c2f0
test rax, rax
je 0x14003b2cf
cmp rax, qword [0x14004b858]
je 0x14003b2cf
lea rdx, [rax + 0x318]
call fcn.14003c2f0
mov rsi, rax
test rax, rax
je 0x14003b2cf
mov r8d, 0x6d
lea rcx, [rsp + 0x50]
mov rdx, rax
call fcn.140039060
movups xmm0, xmmword [rsp + 0x50]
lea rdx, [rbp - 0x30]
movsd xmm1, qword [rsp + 0x60]
lea rcx, [rbp - 0x50]
movaps xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.140038c10
xor r8d, r8d
lea rcx, [rbp - 0x10]
mov rdx, rsi
call fcn.140039060
movups xmm6, xmmword [rbp - 0x10]
lea rdx, [rbp + 0x10]
movsd xmm7, qword [rbp]
lea rcx, [rbp - 0x40]
movaps xmmword [rbp + 0x10], xmm6
movsd qword [rbp + 0x20], xmm7
call fcn.140038c10
movsd xmm8, qword [rbp - 0x48]
movsd xmm12, qword [rbp - 0x38]
movaps xmm0, xmm8
movss xmm1, dword [0x1400445a0]
subsd xmm0, xmm12
andps xmm0, xmmword [0x140044a80]
cvtpd2ps xmm11, xmm0
movaps xmm0, xmm6
unpckhpd xmm0, xmm6
movaps xmm9, xmm11
subsd xmm0, qword [0x14004b0a8]
mulss xmm9, xmm13
cvtsd2ss xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm6, qword [0x14004b0a0]
movaps xmm10, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movss xmm6, dword [0x1400445a0]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm7, qword [0x14004b0b0]
addss xmm10, xmm0
movaps xmm1, xmm6
cvtpd2ps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm10, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm10
ja 0x14003ae51
xorps xmm0, xmm0
sqrtss xmm0, xmm10
jmp 0x14003ae5a
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cmp byte [0x14004b820], r13b
xorps xmm10, xmm10
movsd xmm7, qword [rbp - 0x50]
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x1400445c8]
cvtsd2ss xmm10, xmm0
je 0x14003b258
cmp byte [0x14004b822], r13b
je 0x14003afbe
lea rdx, [rsi + 0x368]
call fcn.14003c420
lea rdx, [rsi + 0x370]
movaps xmm6, xmm0
call fcn.14003c420
cvttss2si r15d, xmm9
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
cvttss2si r14d, xmm11
mov r8d, r15d
addss xmm0, xmm14
mulss xmm9, xmm13
mov r9d, r14d
cvttsd2si edx, xmm8
comiss xmm0, xmm6
cvtps2pd xmm6, xmm9
jb 0x14003aef0
movaps xmm0, xmmword [0x140044900]
jmp 0x14003aef7
movaps xmm0, xmmword [0x1400448c0]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm7
subsd xmm0, xmm6
cvttsd2si ecx, xmm0
call fcn.14003a710
cmp byte [0x14004b81e], r13b
je 0x14003afbe
mov rax, qword [0x14004b700]
lea r8, str.Foreground
movaps xmm0, xmmword [0x140044780]
movaps xmm1, xmm7
subsd xmm1, xmm6
movaps xmmword [rsp + 0x50], xmm0
mov edx, 1
mov rcx, qword [rax + 0x48b0]
cvttsd2si edi, xmm8
mov rcx, qword [rcx]
cvttsd2si ebx, xmm1
call fcn.1400068a0
lea ecx, [r15 + rbx]
mov r10, rax
movd xmm0, ecx
lea ecx, [r14 + rdi]
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
lea rcx, [rsp + 0x50]
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
movd xmm1, edi
movd xmm0, ebx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x7c], xmm1
movss dword [rbp - 0x80], xmm0
call fcn.1400030f0
mov r9d, eax
mov dword [rsp + 0x28], r13d
lea rdx, [rbp - 0x80]
movss dword [rsp + 0x20], xmm15
lea r8, [rsp + 0x78]
mov rcx, r10
call fcn.140025fe0
cmp byte [0x14004b81f], r13b
movsd xmm9, qword [rbp - 0x40]
je 0x14003b0e3
lea rdx, [rsi + 0x368]
call fcn.14003c420
lea rdx, [rsi + 0x370]
movaps xmm6, xmm0
call fcn.14003c420
mov rax, qword [0x14004b700]
addss xmm0, xmm14
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x48b0]
comiss xmm0, xmm6
mov rcx, qword [rcx]
jb 0x14003b070
movaps xmm0, xmmword [0x140044900]
movaps xmmword [rsp + 0x50], xmm0
call fcn.1400068a0
cvtpd2ps xmm0, xmm9
lea rcx, [rsp + 0x50]
mov r10, rax
cvtpd2ps xmm1, xmm12
movss dword [rbp - 0x78], xmm0
movd xmm0, dword [0x14004b8a8]
movss dword [rbp - 0x74], xmm1
movd xmm1, dword [0x14004b8b4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
call fcn.1400030f0
lea rdx, [rbp - 0x70]
lea r8, [rbp - 0x78]
jmp 0x14003b0ca
movaps xmm0, xmmword [0x1400448c0]
movaps xmmword [rsp + 0x50], xmm0
call fcn.1400068a0
cvtpd2ps xmm0, xmm9
lea rcx, [rsp + 0x50]
mov r10, rax
cvtpd2ps xmm1, xmm12
movss dword [rbp - 0x68], xmm0
movd xmm0, dword [0x14004b8a8]
movss dword [rbp - 0x64], xmm1
movd xmm1, dword [0x14004b8b4]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
call fcn.1400030f0
lea rdx, [rbp - 0x60]
lea r8, [rbp - 0x68]
movss xmm0, dword [0x14004452c]
mov r9d, eax
mov rcx, r10
movss dword [rsp + 0x20], xmm0
call fcn.140025d70
cmp byte [0x14004b821], r13b
je 0x14003b258
movaps xmm0, xmmword [0x140044900]
lea rdx, str._.fm
cvtps2pd xmm2, xmm10
lea rcx, [rbp + 0x30]
movaps xmmword [rsp + 0x50], xmm0
movq r8, xmm2
call fcn.14003c5d0
mov rbx, qword [0x14004b700]
lea rax, [rbp + 0x30]
movss xmm0, dword [0x14004465c]
lea rdx, [rsp + 0x70]
movss xmm3, dword [0x140044650]
mov qword [rsp + 0x30], r13
movss xmm2, dword [rbx + 0x3c10]
mov rcx, qword [rbx + 0x3c08]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.140029e30
movss xmm0, dword [rsp + 0x70]
lea r8, str.Foreground
addss xmm0, dword [0x140044578]
mov edx, 1
cvttss2si eax, xmm0
movd xmm6, eax
mov rax, qword [rbx + 0x48b0]
cvtdq2ps xmm6, xmm6
mov rcx, qword [rax]
movss dword [rsp + 0x70], xmm6
call fcn.1400068a0
lea rcx, [rsp + 0x50]
mov r8, rax
call fcn.1400030f0
movss xmm1, dword [rsp + 0x74]
mov r9d, eax
mulss xmm6, xmm13
mulss xmm1, xmm13
cvtps2pd xmm0, xmm6
subsd xmm9, xmm0
cvtpd2ps xmm0, xmm9
movss dword [rbp - 0x58], xmm0
cvtps2pd xmm0, xmm1
subsd xmm12, xmm0
cvtpd2ps xmm0, xmm12
movss dword [rbp - 0x54], xmm0
test eax, 0xff000000
je 0x14003b258
lea rcx, [rbp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], r13b
jne 0x14003b1f0
lea rcx, [rbp + 0x30]
add rcx, rax
lea rax, [rbp + 0x30]
cmp rax, rcx
je 0x14003b258
mov rax, qword [r8 + 0x38]
mov rdx, r8
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r13b
movss dword [rsp + 0x40], xmm15
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x58]
movups xmmword [rsp + 0x50], xmm0
call fcn.14002a050
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, dword [0x14004b8b0]
cvtsi2sd xmm0, dword [0x14004b8a8]
subsd xmm8, xmm1
xorps xmm1, xmm1
subsd xmm7, xmm0
xorps xmm0, xmm0
mulsd xmm8, xmm8
mulsd xmm7, xmm7
addsd xmm8, xmm7
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
ja 0x14003b29e
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14003b2a6
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x14004b048]
comiss xmm1, xmm0
jb 0x14003b2cf
movss xmm1, dword [0x14004b878]
comiss xmm1, xmm0
jbe 0x14003b2cf
movss dword [0x14004b878], xmm0
mov qword [0x14004b830], rsi
inc r12d
cmp r12d, dword [0x14004b848]
jl 0x14003ace0
movaps xmm15, xmmword [rsp + 0x180]
movaps xmm14, xmmword [rsp + 0x190]
movaps xmm13, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm9, xmmword [rsp + 0x1e0]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm6, xmmword [rsp + 0x210]
mov r15, qword [rsp + 0x220]
mov r14, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x260]
mov rsi, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x250]
cmp byte [0x14004b81d], 0
mov r13, qword [rsp + 0x230]
mov r12, qword [rsp + 0x238]
je 0x14003b38e
mov ecx, dword [0x14004b060]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003b38e
call fcn.14003a4a0
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.14003c8a0
add rsp, 0x240
pop rbp
ret