Function at 0x14004ac20
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 [0x1400ef040]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rsi, qword [rbp + 0x128]
mov qword [rbp - 0x78], rsi
mov r12, qword [rbp + 0x130]
lea rdi, [r12 + 8]
mov qword [rsp + 0x60], rdi
xor r15d, r15d
movsxd rax, dword [0x1400efcdc]
test eax, eax
jns 0x14004aca6
mov dword [0x1400efcdc], r15d
jmp 0x14004acc9
mov rcx, qword [rdi]
sub rcx, qword [r12]
sar rcx, 5
mov qword [rsp + 0x60], rdi
cmp rax, rcx
jb 0x14004acc9
lea eax, [rcx - 1]
mov dword [0x1400efcdc], eax
mov qword [rsp + 0x60], rdi
movdqa xmm0, xmmword [0x1400e7b70]
movdqa xmmword [rsp + 0x50], xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov r14d, dword [rbp + 0x120]
mov dword [rsp + 0x20], r14d
mov edx, 0x14
mov r9d, 0x6e
mov r8d, 0x46
call fcn.140007c60
movdqa xmm0, xmmword [0x1400e7bc0]
movdqa xmmword [rsp + 0x50], xmm0
lea eax, [r14 - 2]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov edx, 0x15
mov r9d, 0x6c
mov r8d, 0x47
call fcn.140007c60
mov dword [rbp + 0x18], 0xa
mov dword [rbp + 0x1c], 0xa
mov eax, 0x66666667
imul dword [0x1400f0154]
mov ecx, edx
sar ecx, 2
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov dword [rbp + 0x28], ecx
mov eax, 0x66666667
imul dword [0x1400f0158]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x2c], edx
mov word [rbp + 0x4e], r15w
mov dword [rbp + 0x5c], 0xa00
mov dword [rbp + 0x10], r15d
mov dword [rbp + 0x14], 1
mov eax, 0x66666667
imul dword [0x1400f015c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r8d, dl
mov rax, qword [rbp + 0x28]
shr rax, 0x20
movzx edx, al
shl edx, 8
mov eax, r8d
shl eax, 0x10
or edx, eax
movzx eax, cl
or edx, eax
mov rax, qword [rbp + 0x18]
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, [r14 + 0x44]
mov dword [rbp + 0x54], eax
movzx eax, dl
shl ax, 8
mov word [rbp + 0x48], ax
mov r9d, 0xff00
and dx, r9w
mov word [rbp + 0x4a], dx
shl r8w, 8
mov word [rbp + 0x4c], r8w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x58], ax
and cx, r9w
mov word [rbp + 0x5a], cx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x10]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400f0180]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmm0, xmmword [0x1400e7b70]
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x14004ae70
mov rdx, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x14004ae90
lea rcx, [rsp + 0x68]
call fcn.1400ddce0
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.1400ddce0
mov r15d, 0x2bc
mov r13d, 0xe
mov word [rsp + 0x38], r15w
mov word [rsp + 0x30], r13w
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
mov edx, 0x24
mov r8d, 0x40
call fcn.140007d40
movdqa xmm0, xmmword [0x1400e7c10]
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x14004af23
mov rdx, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14004af34
mov r8, rbx
lea rcx, [rsp + 0x68]
call fcn.1400ddce0
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.1400ddce0
mov word [rsp + 0x38], r15w
mov word [rsp + 0x30], r13w
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
mov edx, 0x23
mov r8d, 0x3f
call fcn.140007d40
xor ebx, ebx
movzx r15d, bx
mov rax, qword [rdi]
sub rax, qword [r12]
sar rax, 5
test rax, rax
je 0x14004b663
movdqa xmm9, xmmword [0x1400e7b70]
mov r13d, ebx
movdqa xmm10, xmmword [0x1400e7c20]
mov esi, 0x8000
movss xmm8, dword [0x1400e49cc]
movss xmm11, dword [0x1400e4904]
nop dword [rax]
movsx eax, r15w
imul edx, eax, 0x1e
add edx, 0x54
mov eax, dword [0x1400f0188]
mov r9d, dword [0x1400f0190]
cmp eax, r9d
jl 0x14004b287
cmp eax, dword [0x1400f0198]
jg 0x14004b287
mov ecx, dword [0x1400f018c]
mov r8d, dword [0x1400f0194]
cmp ecx, r8d
jl 0x14004b287
cmp ecx, dword [0x1400f019c]
jg 0x14004b287
sub eax, r9d
sub eax, 0x14
cmp eax, 0x6e
ja 0x14004b287
sub ecx, r8d
cmp ecx, edx
jl 0x14004b287
lea eax, [rdx + 0x17]
cmp ecx, eax
jg 0x14004b287
mov dword [rbp - 0x60], 0x14
mov dword [rbp - 0x5c], 0x14
mov eax, 0x66666667
imul dword [0x1400f0154]
mov r10d, edx
sar r10d, 1
mov eax, r10d
shr eax, 0x1f
add r10d, eax
mov dword [rbp - 0x70], r10d
mov eax, 0x66666667
imul dword [0x1400f0158]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 0x6c], edx
movsx eax, r15w
imul r9d, eax, 0x1e
add r9d, 0x56
mov word [rbp + 0x4e], bx
mov word [rbp + 0x5e], bx
mov dword [rbp + 0x10], ebx
mov dword [rbp + 0x14], 1
mov eax, 0x66666667
imul dword [0x1400f015c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx r8d, dl
mov rax, qword [rbp - 0x70]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
mov eax, r8d
shl eax, 0x10
or ecx, eax
movzx eax, r10b
or ecx, eax
mov rax, qword [rbp - 0x60]
shr rax, 0x20
movzx edx, al
shl edx, 8
or edx, 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, cl
shl ax, 8
mov word [rbp + 0x48], ax
mov r14d, 0xff00
and cx, r14w
mov word [rbp + 0x4a], cx
shl r8w, 8
mov word [rbp + 0x4c], r8w
movzx eax, dl
shl ax, 8
mov word [rbp + 0x58], ax
movzx eax, dx
and ax, r14w
mov word [rbp + 0x5a], ax
shr edx, 0x10
shl dx, 8
mov word [rbp + 0x5c], dx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x10]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400f0180]
call qword [sym.imp.MSIMG32.dll_GradientFill]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x1400f0168]
jne 0x14004b28d
cmp dword [0x1400f01a8], 0
jne 0x14004b28d
cmp dword [0x1400f01ac], 0
jne 0x14004b28d
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14004b1ef
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
movsx eax, r15w
mov dword [0x1400efcdc], eax
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14004b222
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov cl, 0x26
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x1400efcdc]
dec ecx
mov dword [0x1400efcdc], ecx
jmp 0x14004b25b
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x14004b255
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov cl, 0x28
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x1400efcdc]
inc ecx
mov dword [0x1400efcdc], ecx
jmp 0x14004b25b
mov ecx, dword [0x1400efcdc]
test ecx, ecx
jns 0x14004b269
mov ecx, ebx
mov dword [0x1400efcdc], ebx
jmp 0x14004b293
mov rdx, qword [rdi]
sub rdx, qword [r12]
sar rdx, 5
movsxd rax, ecx
cmp rax, rdx
jb 0x14004b293
lea ecx, [rdx - 1]
mov dword [0x1400efcdc], ecx
jmp 0x14004b293
mov r14d, 0xff00
mov ecx, dword [0x1400efcdc]
movsx eax, r15w
cmp ecx, eax
jne 0x14004b559
movsx eax, r15w
imul ecx, eax, 0x1e
add ecx, 0x56
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400f0f0c], eax
jle 0x14004b2f5
lea rcx, [0x1400f0f0c]
call fcn.1400deee4
cmp dword [0x1400f0f0c], 0xffffffff
jne 0x14004b2f5
movss dword [0x1400f04cc], xmm7
lea rcx, [0x1400f0f0c]
call fcn.1400dee78
movss xmm6, dword [0x1400f04cc]
comiss xmm7, xmm6
jbe 0x14004b311
subss xmm7, xmm6
divss xmm7, xmm8
addss xmm6, xmm7
jmp 0x14004b326
comiss xmm6, xmm7
jbe 0x14004b32e
movaps xmm0, xmm6
subss xmm0, xmm7
divss xmm0, xmm8
subss xmm6, xmm0
movss dword [0x1400f04cc], xmm6
mov eax, dword [0x1400f0154]
cdq
and edx, 3
lea r9d, [rdx + rax]
sar r9d, 2
mov dword [rbp - 0x40], r9d
mov eax, dword [0x1400f0158]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [rbp - 0x3c], eax
mov dword [rbp - 0x50], 0x14
mov dword [rbp - 0x4c], 0x14
cvttss2si r8d, xmm6
mov word [rbp + 0x4e], bx
mov word [rbp + 0x5e], bx
mov dword [rbp + 0x18], ebx
mov dword [rbp + 0x1c], 1
mov rax, qword [rbp - 0x50]
shr rax, 0x20
movzx r10d, al
shl r10d, 8
or r10d, 0x140014
mov eax, dword [0x1400f015c]
cdq
and edx, 3
add eax, edx
sar eax, 2
movzx edx, al
mov rax, qword [rbp - 0x40]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
mov eax, edx
shl eax, 0x10
or ecx, eax
movzx eax, r9b
or ecx, 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
and ax, r14w
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
and cx, r14w
mov word [rbp + 0x5a], cx
shl dx, 8
mov word [rbp + 0x5c], dx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x18]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400f0180]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov dword [rsp + 0x50], 0x14
mov dword [rsp + 0x54], 0x14
mov eax, dword [0x1400f0154]
cdq
and edx, 3
lea r8d, [rdx + rax]
sar r8d, 2
mov dword [rsp + 0x68], r8d
mov eax, dword [0x1400f0158]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [rsp + 0x6c], eax
addss xmm6, xmm11
cvttss2si r10d, xmm6
mov word [rbp + 0x4e], bx
mov word [rbp + 0x5e], bx
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x2c], 1
mov eax, dword [0x1400f015c]
cdq
and edx, 3
add eax, edx
sar eax, 2
movzx r9d, al
mov rax, qword [rsp + 0x68]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
mov eax, r9d
shl eax, 0x10
or ecx, eax
movzx eax, r8b
or ecx, eax
mov rax, qword [rsp + 0x50]
shr rax, 0x20
movzx edx, al
shl edx, 8
or edx, 0x140014
mov dword [rbp + 0x40], 0x16
mov dword [rbp + 0x44], r10d
mov dword [rbp + 0x50], 0x80
lea eax, [r10 + 0x17]
mov dword [rbp + 0x54], eax
movzx eax, cl
shl ax, 8
mov word [rbp + 0x48], ax
and cx, r14w
mov word [rbp + 0x4a], cx
shl r9w, 8
mov word [rbp + 0x4c], r9w
movzx eax, dl
shl ax, 8
mov word [rbp + 0x58], ax
movzx eax, dx
and ax, r14w
mov word [rbp + 0x5a], ax
shr edx, 0x10
shl dx, 8
mov word [rbp + 0x5c], dx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0x28]
mov r8d, 2
lea rdx, [rbp + 0x40]
mov rcx, qword [0x1400f0180]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmmword [rbp + 0x40], xmm9
shl r13, 5
mov rbx, qword [r12]
add rbx, r13
movsx r14d, r15w
movzx esi, word [0x1400f0150]
add si, 2
lea rdx, [0x1400f0130]
lea rcx, [rbp - 0x30]
call fcn.140049770
mov rdi, rax
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.140049770
mov r9, rax
imul r8d, r14d, 0x1e
add r8d, 0x5b
mov word [rsp + 0x38], 0x190
mov word [rsp + 0x30], si
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0x2e
call fcn.140007d40
movdqa xmmword [rbp + 0x40], xmm10
mov rbx, qword [r12]
add rbx, r13
movzx esi, word [0x1400f0150]
add si, 2
lea rdx, [0x1400f0130]
lea rcx, [rbp - 0x10]
call fcn.140049770
mov rdi, rax
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.140049770
mov r9, rax
lea ecx, [r14 + 3]
imul r8d, ecx, 0x1e
mov word [rsp + 0x38], 0x190
mov word [rsp + 0x30], si
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0x2d
call fcn.140007d40
inc r15w
movsx r13, r15w
mov rdi, qword [rsp + 0x60]
mov rax, qword [rdi]
sub rax, qword [r12]
sar rax, 5
cmp r13, rax
mov ebx, 0
mov esi, 0x8000
jb 0x14004aff0
mov rsi, qword [rbp - 0x78]
mov r14d, dword [rbp + 0x120]
mov r8d, dword [0x1400f0188]
mov r10d, dword [0x1400f0190]
mov eax, r8d
sub eax, r10d
sub eax, 0x14
mov r9d, dword [0x1400f0194]
mov edx, dword [0x1400f018c]
cmp eax, 0x6e
ja 0x14004b69e
mov ecx, edx
sub ecx, r9d
cmp ecx, 0x46
jl 0x14004b69e
lea eax, [r14 + 0x46]
cmp ecx, eax
jle 0x14004b6b9
cmp r8d, r10d
jl 0x14004b6b9
cmp r8d, dword [0x1400f0198]
jg 0x14004b6b9
cmp edx, r9d
jl 0x14004b6b9
cmp edx, dword [0x1400f019c]
jle 0x14004b6c3
mov dword [0x1400f01a4], 1
mov ebx, dword [0x1400efcdc]
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14004b6ff
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14004b6fa
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004b766
mov rcx, r8
call fcn.1400dee70
xor r15d, r15d
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r15b
mov rcx, r12
call fcn.140047de0
mov eax, ebx
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400dee50
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