Function at 0x140099410
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 [0x140107040]
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 [0x14010830c]
test eax, eax
jns 0x140099496
mov dword [0x14010830c], r15d
jmp 0x1400994b9
mov rcx, qword [rdi]
sub rcx, qword [r12]
sar rcx, 5
mov qword [rsp + 0x60], rdi
cmp rax, rcx
jb 0x1400994b9
lea eax, [rcx - 1]
mov dword [0x14010830c], eax
mov qword [rsp + 0x60], rdi
movdqa xmm0, xmmword [0x1400ff6d0]
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
lea r9d, [rdx + 0x5a]
lea r8d, [rdx + 0x32]
call fcn.140007da0
movdqa xmm0, xmmword [0x1400ff720]
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
lea r9d, [rdx + 0x57]
lea r8d, [rdx + 0x32]
call fcn.140007da0
mov dword [rbp + 0x18], 0xa
mov dword [rbp + 0x1c], 0xa
mov eax, 0x66666667
imul dword [0x140108134]
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 [0x140108138]
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 [0x14010813c]
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 [0x140108160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmm0, xmmword [0x1400ff6d0]
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140099658
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
inc r8
cmp byte [rdx + r8], r15b
jne 0x140099673
lea rcx, [rsp + 0x68]
call fcn.1400f5f20
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.1400f5f20
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]
lea edx, [r13 + 0x16]
lea r8d, [r13 + 0x32]
call fcn.140007e80
movdqa xmm0, xmmword [0x1400ff770]
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140099703
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 0x140099714
mov r8, rbx
lea rcx, [rsp + 0x68]
call fcn.1400f5f20
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.1400f5f20
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
lea r8d, [rdx + 0x1c]
call fcn.140007e80
xor ebx, ebx
movzx r15d, bx
mov rax, qword [rdi]
sub rax, qword [r12]
sar rax, 5
test rax, rax
je 0x140099e3d
movdqa xmm9, xmmword [0x1400ff6d0]
mov r13d, ebx
movdqa xmm10, xmmword [0x1400ff780]
mov esi, 0x8000
movss xmm8, dword [0x1400fc524]
movss xmm11, dword [0x1400fc45c]
nop word [rax + rax]
movsx eax, r15w
imul edx, eax, 0x1e
add edx, 0x54
mov eax, dword [0x140108168]
mov r9d, dword [0x140108170]
cmp eax, r9d
jl 0x140099a61
cmp eax, dword [0x140108178]
jg 0x140099a61
mov ecx, dword [0x14010816c]
mov r8d, dword [0x140108174]
cmp ecx, r8d
jl 0x140099a61
cmp ecx, dword [0x14010817c]
jg 0x140099a61
sub eax, r9d
sub eax, 0x14
cmp eax, 0x6e
ja 0x140099a61
sub ecx, r8d
cmp ecx, edx
jl 0x140099a61
lea eax, [rdx + 0x17]
cmp ecx, eax
jg 0x140099a61
mov dword [rbp - 0x60], 0x14
mov dword [rbp - 0x5c], 0x14
mov eax, 0x66666667
imul dword [0x140108134]
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 [0x140108138]
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 [0x14010813c]
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 [0x140108160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140108148]
jne 0x140099a67
cmp dword [0x140108188], 0
jne 0x140099a67
cmp dword [0x14010818c], 0
jne 0x140099a67
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x1400999cd
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
movsx eax, r15w
mov dword [0x14010830c], eax
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x1400999fe
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x26
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x14010830c]
dec ecx
mov dword [0x14010830c], ecx
jmp 0x140099a35
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x140099a2f
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x28
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x14010830c]
inc ecx
mov dword [0x14010830c], ecx
jmp 0x140099a35
mov ecx, dword [0x14010830c]
test ecx, ecx
jns 0x140099a43
mov ecx, ebx
mov dword [0x14010830c], ebx
jmp 0x140099a6d
mov rdx, qword [rdi]
sub rdx, qword [r12]
sar rdx, 5
movsxd rax, ecx
cmp rax, rdx
jb 0x140099a6d
lea ecx, [rdx - 1]
mov dword [0x14010830c], ecx
jmp 0x140099a6d
mov r14d, 0xff00
mov ecx, dword [0x14010830c]
movsx eax, r15w
cmp ecx, eax
jne 0x140099d33
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 [0x1401084d0], eax
jle 0x140099acf
lea rcx, [0x1401084d0]
call fcn.1400f7264
cmp dword [0x1401084d0], 0xffffffff
jne 0x140099acf
movss dword [0x140109200], xmm7
lea rcx, [0x1401084d0]
call fcn.1400f71f8
movss xmm6, dword [0x140109200]
comiss xmm7, xmm6
jbe 0x140099aeb
subss xmm7, xmm6
divss xmm7, xmm8
addss xmm6, xmm7
jmp 0x140099b00
comiss xmm6, xmm7
jbe 0x140099b08
movaps xmm0, xmm6
subss xmm0, xmm7
divss xmm0, xmm8
subss xmm6, xmm0
movss dword [0x140109200], xmm6
mov eax, dword [0x140108134]
cdq
and edx, 3
lea r9d, [rdx + rax]
sar r9d, 2
mov dword [rbp - 0x40], r9d
mov eax, dword [0x140108138]
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 [0x14010813c]
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 [0x140108160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov dword [rsp + 0x50], 0x14
mov dword [rsp + 0x54], 0x14
mov eax, dword [0x140108134]
cdq
and edx, 3
lea r8d, [rdx + rax]
sar r8d, 2
mov dword [rsp + 0x68], r8d
mov eax, dword [0x140108138]
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 [0x14010813c]
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 [0x140108160]
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 [0x140108130]
add si, 2
lea rdx, [0x140108110]
lea rcx, [rbp - 0x30]
call fcn.140049d30
mov rdi, rax
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.140049d30
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.140007e80
movdqa xmmword [rbp + 0x40], xmm10
mov rbx, qword [r12]
add rbx, r13
movzx esi, word [0x140108130]
add si, 2
lea rdx, [0x140108110]
lea rcx, [rbp - 0x10]
call fcn.140049d30
mov rdi, rax
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.140049d30
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.140007e80
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 0x1400997d0
mov rsi, qword [rbp - 0x78]
mov r14d, dword [rbp + 0x120]
mov r8d, dword [0x140108168]
mov r10d, dword [0x140108170]
mov eax, r8d
sub eax, r10d
sub eax, 0x14
mov r9d, dword [0x140108174]
mov edx, dword [0x14010816c]
cmp eax, 0x6e
ja 0x140099e78
mov ecx, edx
sub ecx, r9d
cmp ecx, 0x46
jl 0x140099e78
lea eax, [r14 + 0x46]
cmp ecx, eax
jle 0x140099e93
cmp r8d, r10d
jl 0x140099e93
cmp r8d, dword [0x140108178]
jg 0x140099e93
cmp edx, r9d
jl 0x140099e93
cmp edx, dword [0x14010817c]
jle 0x140099e9d
mov dword [0x140108184], 1
mov ebx, dword [0x14010830c]
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x140099ed9
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140099ed4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140099f40
mov rcx, r8
call fcn.1400f71f0
xor r15d, r15d
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r15b
mov rcx, r12
call fcn.140048340
mov eax, ebx
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400f71d0
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