Function at 0x1400496b0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x158]
sub rsp, 0x250
mov rax, qword [0x14007f010]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rdx, qword [0x14007fcd0]
mov qword [r11 - 0x10], r12
add rdx, 0x10aec0b8
mov qword [r11 - 0x18], r13
call fcn.14004b350
mov qword [0x14007fe70], rax
lea rdx, [rax + 0x1b8]
call fcn.14004b350
mov qword [0x14007fe60], rax
lea rdx, [rax + 0x38]
call fcn.14004b350
mov rdx, rax
call fcn.14004b350
mov qword [0x14007fe30], rax
lea rdx, [rax + 0x30]
call fcn.14004b350
mov qword [0x14007fe68], rax
lea rdx, [rax + 0x338]
call fcn.14004b350
xor r13d, r13d
mov qword [0x14007fe38], rax
test rax, rax
je 0x14004981a
lea rdx, [rax + 0x198]
call fcn.14004b350
mov rcx, qword [0x14007fce0]
lea r9d, [r13 + 0x28]
mov qword [0x14007fe18], rax
lea r8, [rbp + 0x10]
add rax, 0x128
mov qword [rsp + 0x38], r13
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], r13
mov qword [rbp + 0x28], rax
mov edx, 0x226ce0
mov eax, dword [rcx + 8]
mov rcx, qword [rcx]
mov dword [rsp + 0x28], r13d
movsd qword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm0
mov dword [rbp + 0x1c], r13d
mov dword [rbp + 0x34], 0x100
mov qword [rbp + 0x10], 0x7331
mov dword [rbp + 0x30], 0x18
mov dword [rbp + 0x18], eax
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rsp + 0x50]
mov rdx, qword [0x14007fe38]
add rdx, 0x2b0
movups xmmword [0x14007f0c0], xmm0
movsd xmm0, qword [rsp + 0x60]
movsd qword [0x14007f0d0], xmm0
call fcn.14004b350
mov qword [0x14007fe20], rax
lea rdx, [rax + 0x10e0]
call fcn.14004b690
mov dword [0x14007fe48], eax
mov rdx, qword [0x14007fe70]
add rdx, 0x158
call fcn.14004b350
mov qword [0x14007fe50], rax
lea rdx, [rax + 0x2a8]
call fcn.14004b350
mov rdx, qword [0x14007fe50]
add rdx, 0x2b0
mov qword [0x14007fe40], rax
call fcn.14004b690
mov dword [0x14007fe28], eax
mov r12d, r13d
mov dword [0x14007fe58], 0x7f7fffff
mov qword [0x14007fe10], r13
test eax, eax
jle 0x140049f7f
mov qword [rsp + 0x260], rbx
movaps xmmword [rsp + 0x1b0], xmm13
movss xmm13, dword [0x140074978]
movaps xmmword [rsp + 0x1a0], xmm14
movss xmm14, dword [0x1400749a0]
movaps xmmword [rsp + 0x190], xmm15
xorps xmm15, xmm15
mov qword [rsp + 0x268], rsi
mov qword [rsp + 0x270], rdi
mov qword [rsp + 0x238], r14
mov qword [rsp + 0x230], r15
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm7
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x1f0], xmm9
movaps xmmword [rsp + 0x1e0], xmm10
movaps xmmword [rsp + 0x1d0], xmm11
movaps xmmword [rsp + 0x1c0], xmm12
mov rax, qword [0x14007fe40]
movsxd rcx, r12d
lea rdx, [rax + rcx*8]
call fcn.14004b350
mov rbx, rax
test rax, rax
je 0x140049eef
lea rdx, [rax + 0x10e0]
call fcn.14004b690
cmp eax, dword [0x14007fe48]
je 0x140049eef
lea rdx, [rbx + 0x308]
call fcn.14004b350
test rax, rax
je 0x140049eef
cmp rax, qword [0x14007fe38]
je 0x140049eef
lea rdx, [rax + 0x318]
call fcn.14004b350
mov rdi, rax
test rax, rax
je 0x140049eef
mov r8d, 0x6d
lea rcx, [rsp + 0x50]
mov rdx, rax
call fcn.140048570
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.140048090
xor r8d, r8d
lea rcx, [rbp - 0x10]
mov rdx, rdi
call fcn.140048570
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.140048090
movsd xmm8, qword [rbp - 0x48]
movsd xmm11, qword [rbp - 0x38]
movaps xmm0, xmm8
movss xmm1, dword [0x1400749f0]
subsd xmm0, xmm11
andps xmm0, xmmword [0x140074e90]
cvtpd2ps xmm12, xmm0
movaps xmm0, xmm6
unpckhpd xmm0, xmm6
movaps xmm9, xmm12
subsd xmm0, qword [0x14007f0c8]
mulss xmm9, xmm14
cvtsd2ss xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm6, qword [0x14007f0c0]
movaps xmm10, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movss xmm6, dword [0x1400749f0]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm7, qword [0x14007f0d0]
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 0x140049a83
xorps xmm0, xmm0
sqrtss xmm0, xmm10
jmp 0x140049a8c
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cmp byte [0x14007fd80], r13b
xorps xmm10, xmm10
movsd xmm7, qword [rbp - 0x50]
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x140074a18]
cvtsd2ss xmm10, xmm0
je 0x140049e78
cmp byte [0x14007fd82], r13b
je 0x140049be3
lea rdx, [rdi + 0x368]
call fcn.14004b490
cvttss2si r15d, xmm9
lea rdx, [rdi + 0x370]
mulss xmm9, xmm14
movaps xmm6, xmm0
cvttss2si r14d, xmm12
cvtps2pd xmm9, xmm9
call fcn.14004b490
lea rax, [rsp + 0x50]
mov r9d, r14d
mov r8d, r15d
mov qword [rsp + 0x20], rax
cvttsd2si esi, xmm8
movaps xmm1, xmm7
addss xmm0, xmm13
subsd xmm1, xmm9
mov edx, esi
comiss xmm0, xmm6
cvttsd2si ecx, xmm1
jb 0x140049b24
movaps xmm0, xmmword [0x140074d20]
jmp 0x140049b2b
movaps xmm0, xmmword [0x140074ce0]
movaps xmmword [rsp + 0x50], xmm0
call fcn.1400492f0
cmp byte [0x14007fd7e], r13b
je 0x140049be3
mov rax, qword [0x14007fc20]
lea r8, str.Foreground
movaps xmm0, xmmword [0x140074ba0]
movaps xmm1, xmm7
subsd xmm1, xmm9
movaps xmmword [rsp + 0x50], xmm0
mov edx, 1
mov rcx, qword [rax + 0x48a8]
cvttsd2si ebx, xmm1
mov rcx, qword [rcx]
call fcn.140017530
lea ecx, [r15 + rbx]
mov r10, rax
movd xmm0, ecx
lea ecx, [r14 + rsi]
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, esi
movd xmm0, ebx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x7c], xmm1
movss dword [rbp - 0x80], xmm0
call fcn.140014420
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.140035ca0
cmp byte [0x14007fd7f], r13b
movsd xmm9, qword [rbp - 0x40]
je 0x140049d07
lea rdx, [rdi + 0x368]
call fcn.14004b490
lea rdx, [rdi + 0x370]
movaps xmm6, xmm0
call fcn.14004b490
mov rax, qword [0x14007fc20]
addss xmm0, xmm13
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x48a8]
comiss xmm0, xmm6
mov rcx, qword [rcx]
jb 0x140049c94
movaps xmm0, xmmword [0x140074d20]
movaps xmmword [rsp + 0x50], xmm0
call fcn.140017530
cvtpd2ps xmm0, xmm9
lea rcx, [rsp + 0x50]
mov r10, rax
cvtpd2ps xmm1, xmm11
movss dword [rbp - 0x78], xmm0
movd xmm0, dword [0x14007fe88]
movss dword [rbp - 0x74], xmm1
movd xmm1, dword [0x14007fe94]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
call fcn.140014420
lea rdx, [rbp - 0x70]
lea r8, [rbp - 0x78]
jmp 0x140049cee
movaps xmm0, xmmword [0x140074ce0]
movaps xmmword [rsp + 0x50], xmm0
call fcn.140017530
cvtpd2ps xmm0, xmm9
lea rcx, [rsp + 0x50]
mov r10, rax
cvtpd2ps xmm1, xmm11
movss dword [rbp - 0x68], xmm0
movd xmm0, dword [0x14007fe88]
movss dword [rbp - 0x64], xmm1
movd xmm1, dword [0x14007fe94]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
call fcn.140014420
lea rdx, [rbp - 0x60]
lea r8, [rbp - 0x68]
movss xmm0, dword [0x140074980]
mov r9d, eax
mov rcx, r10
movss dword [rsp + 0x20], xmm0
call fcn.140035a40
cmp byte [0x14007fd81], r13b
je 0x140049e78
movaps xmm0, xmmword [0x140074d20]
lea rdx, str._.fm
cvtps2pd xmm2, xmm10
lea rcx, [rbp + 0x40]
movaps xmmword [rsp + 0x50], xmm0
movq r8, xmm2
call fcn.14004b630
mov rbx, qword [0x14007fc20]
lea rax, [rbp + 0x40]
movss xmm0, dword [0x140074ab4]
lea rdx, [rsp + 0x70]
movss xmm3, dword [0x140074aa8]
mov qword [rsp + 0x30], r13
movss xmm2, dword [rbx + 0x3c08]
mov rcx, qword [rbx + 0x3c00]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.1400398b0
movss xmm0, dword [rsp + 0x70]
lea r8, str.Foreground
addss xmm0, dword [0x1400749cc]
mov edx, 1
cvttss2si eax, xmm0
movd xmm6, eax
mov rax, qword [rbx + 0x48a8]
cvtdq2ps xmm6, xmm6
mov rcx, qword [rax]
movss dword [rsp + 0x70], xmm6
call fcn.140017530
lea rcx, [rsp + 0x50]
mov r8, rax
call fcn.140014420
movss xmm1, dword [rsp + 0x74]
mov r9d, eax
mulss xmm6, xmm14
mulss xmm1, xmm14
cvtps2pd xmm0, xmm6
subsd xmm9, xmm0
cvtpd2ps xmm0, xmm9
movss dword [rbp - 0x58], xmm0
cvtps2pd xmm0, xmm1
subsd xmm11, xmm0
cvtpd2ps xmm0, xmm11
movss dword [rbp - 0x54], xmm0
test eax, 0xff000000
je 0x140049e78
lea rcx, [rbp + 0x40]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], r13b
jne 0x140049e10
lea rcx, [rbp + 0x40]
add rcx, rax
lea rax, [rbp + 0x40]
cmp rax, rcx
je 0x140049e78
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 + 0x40]
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.140039ad0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, dword [0x14007fe90]
cvtsi2sd xmm0, dword [0x14007fe88]
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 0x140049ebe
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140049ec6
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x14007f048]
comiss xmm1, xmm0
jb 0x140049eef
movss xmm1, dword [0x14007fe58]
comiss xmm1, xmm0
jbe 0x140049eef
movss dword [0x14007fe58], xmm0
mov qword [0x14007fe10], rdi
inc r12d
cmp r12d, dword [0x14007fe28]
jl 0x140049912
movaps xmm15, xmmword [rsp + 0x190]
movaps xmm14, xmmword [rsp + 0x1a0]
movaps xmm13, xmmword [rsp + 0x1b0]
movaps xmm12, xmmword [rsp + 0x1c0]
movaps xmm11, xmmword [rsp + 0x1d0]
movaps xmm10, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm6, xmmword [rsp + 0x220]
mov r15, qword [rsp + 0x230]
mov r14, qword [rsp + 0x238]
mov rdi, qword [rsp + 0x270]
mov rsi, qword [rsp + 0x268]
mov rbx, qword [rsp + 0x260]
cmp byte [0x14007fd7d], 0
mov r13, qword [rsp + 0x240]
mov r12, qword [rsp + 0x248]
je 0x140049fae
mov ecx, dword [0x14007f080]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140049fae
call fcn.140049080
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.140064080
add rsp, 0x250
pop rbp
ret