Function at 0x14004a700
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 - 0xf8]
sub rsp, 0x1d0
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
mov rax, qword [0x1400df010]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rdi, qword [rbp + 0x128]
mov qword [rbp - 0x70], rdi
mov r15, qword [rbp + 0x130]
lea r13, [r15 + 8]
xor r14d, r14d
movsxd rax, dword [0x1400dfc80]
test eax, eax
jns 0x14004a780
mov dword [0x1400dfc80], r14d
jmp 0x14004a799
mov rcx, qword [r13]
sub rcx, qword [r15]
sar rcx, 5
cmp rax, rcx
jb 0x14004a799
lea eax, [rcx - 1]
mov dword [0x1400dfc80], eax
movdqa xmm0, xmmword [0x1400d7de0]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov esi, dword [rbp + 0x120]
mov dword [rsp + 0x20], esi
mov edx, 0x14
lea r9d, [rdx + 0x5a]
lea r8d, [rdx + 0x32]
call fcn.140007af0
movdqa xmm0, xmmword [0x1400d7e40]
movdqa xmmword [rsp + 0x60], xmm0
lea eax, [rsi - 2]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov edx, 0x15
lea r9d, [rdx + 0x57]
lea r8d, [rdx + 0x32]
call fcn.140007af0
mov dword [rbp + 0x20], 0xa
mov dword [rbp + 0x24], 0xa
mov eax, 0x66666667
imul dword [0x1400e00e4]
mov ecx, edx
sar ecx, 2
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov dword [rbp + 0x30], ecx
mov eax, 0x66666667
imul dword [0x1400e00e8]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x34], edx
mov word [rbp + 0x4e], r14w
mov word [rbp + 0x5e], r14w
mov dword [rbp + 0x18], r14d
mov dword [rbp + 0x1c], 1
mov rax, qword [rbp + 0x30]
shr rax, 0x20
movzx r8d, al
shl r8d, 8
mov eax, 0x66666667
imul dword [0x1400e00ec]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl eax, 0x10
or r8d, eax
movzx eax, cl
or r8d, eax
mov rax, qword [rbp + 0x20]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0xa000a
mov dword [rbp + 0x40], 0x16
mov dword [rbp + 0x44], 0x48
mov dword [rbp + 0x50], 0x80
lea eax, [rsi + 0x44]
mov dword [rbp + 0x54], eax
movzx eax, r8b
shl ax, 8
mov word [rbp + 0x48], ax
movzx eax, r8w
mov edx, 0xff00
and ax, dx
mov word [rbp + 0x4a], ax
shr r8d, 0x10
shl r8w, 8
mov word [rbp + 0x4c], r8w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x58], ax
movzx eax, cx
and ax, dx
mov word [rbp + 0x5a], ax
shr ecx, 0x10
shl cx, 8
mov word [rbp + 0x5c], cx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x18]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400e0110]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmm0, xmmword [0x1400d7de0]
movdqa xmmword [rsp + 0x60], xmm0
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14004a946
mov rdx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdx + r8], r14b
jne 0x14004a960
lea rcx, [rsp + 0x70]
call fcn.1400cd4f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov r8d, 0xb
lea rdx, str.Small_Fonts
lea rcx, [rbp + 0x40]
call fcn.1400cd4f0
mov eax, 0xe
mov r12d, 0x2bc
mov word [rsp + 0x38], r12w
mov word [rsp + 0x30], ax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
mov edx, 0x24
lea r8d, [rdx + 0x1c]
call fcn.140007be0
movdqa xmm0, xmmword [0x1400d7e90]
movdqa xmmword [rsp + 0x60], xmm0
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14004a9ef
mov rdx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
nop
inc rbx
cmp byte [rdx + rbx], r14b
jne 0x14004aa00
mov r8, rbx
lea rcx, [rsp + 0x70]
call fcn.1400cd4f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov r8d, 0xb
lea rdx, str.Small_Fonts
lea rcx, [rbp + 0x40]
call fcn.1400cd4f0
mov word [rsp + 0x38], r12w
mov eax, 0xe
mov word [rsp + 0x30], ax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
mov edx, 0x23
lea r8d, [rdx + 0x1c]
call fcn.140007be0
movzx ecx, r14w
mov word [rsp + 0x50], cx
mov rax, qword [r13]
sub rax, qword [r15]
sar rax, 5
test rax, rax
je 0x14004b126
movdqa xmm9, xmmword [0x1400d7de0]
xor edi, edi
mov r12d, edi
movdqa xmm10, xmmword [0x1400d7ea0]
mov esi, 0x8000
movss xmm8, dword [0x1400d4c2c]
movss xmm11, dword [0x1400d4b64]
nop dword [rax]
movsx ebx, cx
imul r14d, ebx, 0x1e
lea r9d, [r14 + 0x54]
mov eax, dword [0x1400e0118]
mov r8d, dword [0x1400e0120]
cmp eax, r8d
jl 0x14004ad45
cmp eax, dword [0x1400e0128]
jg 0x14004ad45
mov ecx, dword [0x1400e011c]
mov edx, dword [0x1400e0124]
cmp ecx, edx
jl 0x14004ad45
cmp ecx, dword [0x1400e012c]
jg 0x14004ad45
sub eax, r8d
sub eax, 0x14
cmp eax, 0x6e
ja 0x14004ad45
sub ecx, edx
cmp ecx, r9d
jl 0x14004ad45
lea eax, [r9 + 0x17]
cmp ecx, eax
jg 0x14004ad45
mov dword [rbp - 0x58], 0x14
mov dword [rbp - 0x54], 0x14
mov eax, 0x66666667
imul dword [0x1400e00e4]
mov ecx, edx
sar ecx, 1
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov dword [rbp - 0x68], ecx
mov eax, 0x66666667
imul dword [0x1400e00e8]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 0x64], edx
lea r8d, [r14 + 0x56]
mov word [rbp + 0x4e], di
mov word [rbp + 0x5e], di
mov dword [rbp + 0x18], edi
mov dword [rbp + 0x1c], 1
mov rax, qword [rbp - 0x68]
shr rax, 0x20
movzx r9d, al
shl r9d, 8
mov eax, 0x66666667
imul dword [0x1400e00ec]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl eax, 0x10
or r9d, eax
movzx eax, cl
or r9d, eax
mov rax, qword [rbp - 0x58]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0x140014
mov dword [rbp + 0x40], 0x16
mov dword [rbp + 0x44], r8d
mov dword [rbp + 0x50], 0x80
lea eax, [r8 + 0x17]
mov dword [rbp + 0x54], eax
movzx eax, r9b
shl ax, 8
mov word [rbp + 0x48], ax
movzx eax, r9w
mov edx, 0xff00
and ax, dx
mov word [rbp + 0x4a], ax
shr r9d, 0x10
shl r9w, 8
mov word [rbp + 0x4c], r9w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x58], ax
movzx eax, cx
and ax, dx
mov word [rbp + 0x5a], ax
shr ecx, 0x10
shl cx, 8
mov word [rbp + 0x5c], cx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x18]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400e0110]
call qword [sym.imp.MSIMG32.dll_GradientFill]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x1400e00f8]
jne 0x14004ad45
cmp dword [0x1400e0138], 0
jne 0x14004ad45
cmp dword [0x1400e013c], 0
jne 0x14004ad45
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14004acb1
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov dword [0x1400dfc80], ebx
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14004ace2
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x26
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x1400dfc80]
dec ecx
mov dword [0x1400dfc80], ecx
jmp 0x14004ad19
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14004ad13
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x28
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x1400dfc80]
inc ecx
mov dword [0x1400dfc80], ecx
jmp 0x14004ad19
mov ecx, dword [0x1400dfc80]
test ecx, ecx
jns 0x14004ad27
mov ecx, edi
mov dword [0x1400dfc80], ecx
jmp 0x14004ad4b
mov rdx, qword [r13]
sub rdx, qword [r15]
sar rdx, 5
movsxd rax, ecx
cmp rax, rdx
jb 0x14004ad4b
lea ecx, [rdx - 1]
mov dword [0x1400dfc80], ecx
jmp 0x14004ad4b
mov ecx, dword [0x1400dfc80]
cmp ecx, ebx
jne 0x14004b01e
lea eax, [r14 + 0x56]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e0e10], eax
jle 0x14004ada3
lea rcx, [0x1400e0e10]
call fcn.1400ce7e0
cmp dword [0x1400e0e10], 0xffffffff
jne 0x14004ada3
movss dword [0x1400e0408], xmm7
lea rcx, [0x1400e0e10]
call fcn.1400ce780
movss xmm6, dword [0x1400e0408]
comiss xmm7, xmm6
jbe 0x14004adbf
subss xmm7, xmm6
divss xmm7, xmm8
addss xmm6, xmm7
jmp 0x14004add4
comiss xmm6, xmm7
jbe 0x14004addc
movaps xmm0, xmm6
subss xmm0, xmm7
divss xmm0, xmm8
subss xmm6, xmm0
movss dword [0x1400e0408], xmm6
mov eax, dword [0x1400e00e4]
cdq
and edx, 3
lea r9d, [rdx + rax]
sar r9d, 2
mov dword [rbp - 0x38], r9d
mov eax, dword [0x1400e00e8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x48], 0x14
mov dword [rbp - 0x44], 0x14
cvttss2si r8d, xmm6
mov word [rbp + 0x4e], di
mov word [rbp + 0x5e], di
mov dword [rbp + 0x20], edi
mov dword [rbp + 0x24], 1
mov rax, qword [rbp - 0x48]
shr rax, 0x20
movzx r10d, al
shl r10d, 8
or r10d, 0x140014
mov rax, qword [rbp - 0x38]
shr rax, 0x20
movzx r11d, al
shl r11d, 8
mov eax, dword [0x1400e00ec]
cdq
and edx, 3
add eax, edx
sar eax, 2
movzx ecx, al
shl ecx, 0x10
or r11d, ecx
movzx eax, r9b
or r11d, eax
mov dword [rbp + 0x40], 0x16
mov dword [rbp + 0x44], r8d
mov dword [rbp + 0x50], 0x80
lea eax, [r8 + 0x19]
mov dword [rbp + 0x54], eax
movzx eax, r10b
shl ax, 8
mov word [rbp + 0x48], ax
movzx eax, r10w
mov ebx, 0xff00
and ax, bx
mov word [rbp + 0x4a], ax
shr r10d, 0x10
shl r10w, 8
mov word [rbp + 0x4c], r10w
movzx eax, r11b
shl ax, 8
mov word [rbp + 0x58], ax
movzx eax, r11w
and ax, bx
mov word [rbp + 0x5a], ax
shr r11d, 0x10
shl r11w, 8
mov word [rbp + 0x5c], r11w
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x20]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400e0110]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov dword [rsp + 0x60], 0x14
mov dword [rsp + 0x64], 0x14
mov eax, dword [0x1400e00e4]
cdq
and edx, 3
lea r8d, [rdx + rax]
sar r8d, 2
mov dword [rsp + 0x70], r8d
mov eax, dword [0x1400e00e8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [rsp + 0x74], eax
addss xmm6, xmm11
cvttss2si r9d, xmm6
mov word [rbp + 0x4e], di
mov word [rbp + 0x5e], di
mov dword [rbp + 0x30], edi
mov dword [rbp + 0x34], 1
mov rax, qword [rsp + 0x70]
shr rax, 0x20
movzx r10d, al
shl r10d, 8
mov eax, dword [0x1400e00ec]
cdq
and edx, 3
add eax, edx
sar eax, 2
movzx ecx, al
shl ecx, 0x10
or r10d, ecx
movzx eax, r8b
or r10d, eax
mov rax, qword [rsp + 0x60]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0x140014
mov dword [rbp + 0x40], 0x16
mov dword [rbp + 0x44], r9d
mov dword [rbp + 0x50], 0x80
lea eax, [r9 + 0x17]
mov dword [rbp + 0x54], eax
movzx eax, r10b
shl ax, 8
mov word [rbp + 0x48], ax
movzx eax, r10w
and ax, bx
mov word [rbp + 0x4a], ax
shr r10d, 0x10
shl r10w, 8
mov word [rbp + 0x4c], r10w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x58], ax
movzx eax, cx
and ax, bx
mov word [rbp + 0x5a], ax
shr ecx, 0x10
shl cx, 8
mov word [rbp + 0x5c], cx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x30]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400e0110]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmmword [rbp + 0x40], xmm9
shl r12, 5
mov rbx, qword [r15]
add rbx, r12
movzx esi, word [0x1400e00e0]
add si, 2
lea rdx, [0x1400e00c0]
lea rcx, [rbp - 0x28]
call fcn.140049190
mov rdi, rax
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.140049190
mov r9, rax
lea r8d, [r14 + 0x5b]
mov eax, 0x190
mov word [rsp + 0x38], ax
mov word [rsp + 0x30], si
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0x2e
call fcn.140007be0
movdqa xmmword [rbp + 0x40], xmm10
mov rbx, qword [r15]
add rbx, r12
movzx esi, word [0x1400e00e0]
add si, 2
lea rdx, [0x1400e00c0]
lea rcx, [rbp - 8]
call fcn.140049190
mov rdi, rax
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140049190
mov r9, rax
lea r8d, [r14 + 0x5a]
mov eax, 0x190
mov word [rsp + 0x38], ax
mov word [rsp + 0x30], si
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0x2d
call fcn.140007be0
movzx ecx, word [rsp + 0x50]
inc cx
mov word [rsp + 0x50], cx
movsx r12, cx
mov rax, qword [r13]
sub rax, qword [r15]
sar rax, 5
cmp r12, rax
mov edi, 0
mov esi, 0x8000
jb 0x14004aac0
mov rdi, qword [rbp - 0x70]
mov esi, dword [rbp + 0x120]
xor r14d, r14d
mov r8d, dword [0x1400e0118]
mov r10d, dword [0x1400e0120]
mov eax, r8d
sub eax, r10d
sub eax, 0x14
mov r9d, dword [0x1400e0124]
mov edx, dword [0x1400e011c]
cmp eax, 0x6e
ja 0x14004b160
mov ecx, edx
sub ecx, r9d
cmp ecx, 0x46
jl 0x14004b160
lea eax, [rsi + 0x46]
cmp ecx, eax
jle 0x14004b17b
cmp r8d, r10d
jl 0x14004b17b
cmp r8d, dword [0x1400e0128]
jg 0x14004b17b
cmp edx, r9d
jl 0x14004b17b
cmp edx, dword [0x1400e012c]
jle 0x14004b185
mov dword [0x1400e0134], 1
mov ebx, dword [0x1400dfc80]
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14004b1c1
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14004b1bc
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004b225
mov rcx, r8
call fcn.1400ce680
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rcx, r15
call fcn.140047890
mov eax, ebx
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400ce660
lea r11, [rsp + 0x1d0]
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]
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]
int3