Function at 0x14004f670
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400ac040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov r13, rcx
mov rax, qword [0x140139680]
add rax, 0x1901948
mov edx, dword [0x1401397f0]
test edx, edx
je 0x14004f6f7
test rax, rax
je 0x14004f6f7
mov dword [rsp + 0x58], edx
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 8
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
mov rdx, qword [rbp - 0x78]
add rdx, 0x7e4
call fcn.140067970
mov ebx, eax
mov rcx, qword [0x140139680]
add rcx, 0x18b1fe8
mov edx, dword [0x1401397f0]
test edx, edx
je 0x14004f75a
test rcx, rcx
je 0x14004f75a
mov dword [rsp + 0x58], edx
mov qword [rsp + 0x60], rcx
lea rax, [rbp - 0x78]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 8
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
mov rdx, rbx
mov rcx, qword [rbp - 0x78]
call fcn.14004e630
mov r14, rax
mov rcx, rax
call fcn.14004e850
movzx ebx, ax
mov rcx, qword [0x1401396c0]
mov edi, dword [rcx + 0x60]
movss xmm0, dword [rcx + 0x5c]
movss dword [0x140139678], xmm0
mov ecx, dword [rcx + 0xe0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004fb1f
xor edi, edi
mov dword [0x140139678], 0x40000000
mov esi, 6
movss xmm7, dword [0x1400a06e4]
xorps xmm0, xmm0
xor eax, eax
movdqa xmm1, xmmword [0x1400a0800]
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x50], eax
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
lea edx, [rax + 5]
lea rcx, [rbp - 0x50]
call fcn.14004f5e0
mov rbx, qword [rbp - 0x50]
mov r8d, 0x14
lea rdx, [rsp + 0x40]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x14]
mov qword [rbp - 0x48], rax
cmp edi, 4
je 0x14004f81f
mov dword [rbp - 0x78], esi
mov r8d, 1
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x50]
call fcn.1400682b0
lea rax, [r14 + 0x127c]
xorps xmm6, xmm6
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], 0
mov ecx, dword [0x1401397f0]
test ecx, ecx
je 0x14004f87b
test rax, rax
je 0x14004f87b
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0xc
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
lea rax, [r14 + 0xc58]
movss dword [rbp - 0x70], xmm6
xorps xmm0, xmm0
movss dword [rbp - 0x6c], xmm0
xorps xmm1, xmm1
movss dword [rbp - 0x68], xmm1
mov ecx, dword [0x1401397f0]
test ecx, ecx
je 0x14004f8e9
test rax, rax
je 0x14004f8e9
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0xc
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
movss xmm1, dword [rbp - 0x68]
movss xmm0, dword [rbp - 0x6c]
movss xmm6, dword [rbp - 0x70]
movss xmm2, dword [rbp - 0x58]
addss xmm2, xmm1
movss xmm1, dword [rbp - 0x5c]
addss xmm1, xmm0
movss xmm0, dword [rbp - 0x60]
addss xmm0, xmm6
movss dword [rsp + 0x20], xmm0
movss dword [rsp + 0x24], xmm1
movss dword [rsp + 0x28], xmm2
mov rax, qword [0x140139680]
add rax, 0x191f100
mov qword [rbp - 0x38], 0
mov dword [rbp - 0x30], 0
mov ecx, dword [0x1401397f0]
test ecx, ecx
je 0x14004f975
test rax, rax
je 0x14004f975
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0xc
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
mov r15, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
cmp rbx, r15
je 0x14004fadb
lea r14, [r13 + 0x318]
nop dword [rax]
movaps xmm6, xmm7
movsxd rsi, dword [rbx]
mov eax, dword [0x1401397f0]
test eax, eax
je 0x14004f9d9
test r14, r14
je 0x14004f9d9
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x60], r14
lea rax, [rbp - 0x78]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 8
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
mov rax, qword [rbp - 0x78]
add rax, 0x1e0
mov ecx, dword [0x1401397f0]
test ecx, ecx
je 0x14004fa26
test rax, rax
je 0x14004fa26
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 8
mov dword [rsp + 0x78], 0x80000001
xor eax, eax
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x58]
call qword [0x1401397e8]
mov rax, rsi
shl rax, 5
add rax, qword [rbp - 0x28]
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x60], 0
mov ecx, dword [0x1401397f0]
test ecx, ecx
je 0x14004fa80
test rax, rax
je 0x14004fa80
mov dword [rbp - 0x10], ecx
mov qword [rbp - 8], rax
lea rax, [rsp + 0x58]
mov qword [rbp], rax
mov qword [rbp + 8], 0x20
mov dword [rbp + 0x10], 0x80000001
xor eax, eax
mov qword [rbp + 0x18], rax
lea rcx, [rbp - 0x10]
call qword [0x1401397e8]
movsd xmm0, qword [rsp + 0x58]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x38], eax
lea r9, [rbp - 0x38]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x20]
call fcn.14004f2d0
movss xmm1, dword [rbp - 0x1c]
movss xmm0, dword [rbp - 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
comiss xmm7, xmm0
jbe 0x14004fac2
movaps xmm7, xmm0
comiss xmm6, xmm0
cmovbe esi, edi
mov edi, esi
add rbx, 4
cmp rbx, r15
jne 0x14004f990
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x14004fc5d
mov rdx, qword [rbp - 0x40]
sub rdx, rbx
and rdx, 0xfffffffffffffffc
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004fc55
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004fc55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea eax, [rbx - 0x2a]
cmp ax, 0x29
ja 0x14004fb38
movabs rcx, 0x201180200ff
bt rcx, rax
jb 0x14004fb53
mov ecx, 0x1fb
movzx eax, bx
sub ax, cx
cmp ax, 0x10
ja 0x14004fb64
mov ecx, 0x1b3a7
bt ecx, eax
jae 0x14004fb64
xor edi, edi
mov dword [0x140139678], 0x3c23d70a
jmp 0x14004f7ac
cmp ebx, 1
jne 0x14004fb7d
mov rax, qword [0x1401396c0]
mov edi, dword [rax + 0x18]
movss xmm0, dword [rax + 0x14]
jmp 0x14004fc12
lea eax, [rbx - 2]
cmp ax, 0x3e
ja 0x14004fba7
movabs rcx, 0x6800000040000007
bt rcx, rax
jae 0x14004fba7
mov rax, qword [0x1401396c0]
mov edi, dword [rax + 0x24]
movss xmm0, dword [rax + 0x20]
jmp 0x14004fc12
cmp ebx, 0x3c
ja 0x14004fbcd
movabs rcx, 0x1000008000012580
bt rcx, rbx
jae 0x14004fbcd
mov rax, qword [0x1401396c0]
mov edi, dword [rax + 0x30]
movss xmm0, dword [rax + 0x2c]
jmp 0x14004fc12
cmp ebx, 0x28
jne 0x14004fbe3
mov rax, qword [0x1401396c0]
mov edi, dword [rax + 0x48]
movss xmm0, dword [rax + 0x44]
jmp 0x14004fc12
cmp ebx, 9
jne 0x14004fbf9
mov rax, qword [0x1401396c0]
mov edi, dword [rax + 0x3c]
movss xmm0, dword [rax + 0x38]
jmp 0x14004fc12
cmp ebx, 0xb
je 0x14004fc03
cmp ebx, 0x26
jne 0x14004fc1a
mov rax, qword [0x1401396c0]
mov edi, dword [rax + 0x54]
movss xmm0, dword [rax + 0x50]
movss dword [0x140139678], xmm0
xor esi, esi
mov ecx, edi
test edi, edi
je 0x14004f7ac
sub ecx, 1
je 0x14004fc4b
sub ecx, 1
je 0x14004fc41
cmp ecx, 1
jne 0x14004f7b1
lea esi, [rcx + 2]
jmp 0x14004f7b1
mov esi, 4
jmp 0x14004f7b1
mov esi, 5
jmp 0x14004f7b1
mov rcx, rbx
call fcn.140073594
mov eax, edi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140073530
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret