Function at 0x14000a7b0
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 - 0xe8]
sub rsp, 0x1c0
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
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400490c0]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14004c530], eax
jle 0x14000a86e
lea rcx, [0x14004c530]
call fcn.140010f74
cmp dword [0x14004c530], 0xffffffff
jne 0x14000a86e
mov rax, qword [0x140049e48]
mov qword [0x14004c528], rax
lea rcx, [0x14004c530]
call fcn.140010f08
xor al, al
mov byte [rsp + 0x40], al
mov rbx, qword [0x140049e40]
lea rsi, [rbx + 0x60]
xor r14d, r14d
mov r15d, 0xa5ff
mov r12d, 0xff000a
movss xmm10, dword [0x1400416a8]
mov qword [rsp + 0x48], rsi
cmp rbx, qword [0x140049e48]
je 0x14000af5d
setb al
test al, al
je 0x14000af5d
movss xmm2, dword [rsi - 4]
movss xmm4, dword [rsi - 8]
movss xmm3, dword [rsi]
movaps xmm9, xmm4
mulss xmm9, dword [0x140049e88]
movaps xmm0, xmm2
mulss xmm0, dword [0x140049e8c]
addss xmm9, xmm0
movaps xmm1, xmm3
mulss xmm1, dword [0x140049e90]
addss xmm9, xmm1
addss xmm9, dword [0x140049e94]
movss dword [rsp + 0x58], xmm9
movss xmm0, dword [0x1400416ac]
divss xmm0, xmm9
mulss xmm4, dword [0x140049e68]
mulss xmm2, dword [0x140049e6c]
addss xmm4, xmm2
mulss xmm3, dword [0x140049e70]
addss xmm4, xmm3
addss xmm4, dword [0x140049e74]
mulss xmm4, xmm0
movd xmm14, dword [0x140049e1c]
cvtdq2ps xmm14, xmm14
movaps xmm15, xmm14
mulss xmm15, xmm10
mulss xmm4, xmm10
mulss xmm4, xmm14
movaps xmm0, xmm15
subss xmm0, xmm4
movss dword [rsp + 0x50], xmm0
movss xmm3, dword [rsi + 8]
movss xmm10, dword [rsi + 4]
movss xmm4, dword [rsi + 0xc]
movaps xmm2, xmm10
mulss xmm2, dword [0x140049e88]
movaps xmm0, xmm3
mulss xmm0, dword [0x140049e8c]
addss xmm2, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [0x140049e90]
addss xmm2, xmm1
addss xmm2, dword [0x140049e94]
movss dword [rsp + 0x44], xmm2
movss xmm2, dword [0x1400416ac]
divss xmm2, dword [rsp + 0x44]
movaps xmm7, xmm10
mulss xmm7, dword [0x140049e58]
movaps xmm0, xmm3
mulss xmm0, dword [0x140049e5c]
addss xmm7, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [0x140049e60]
addss xmm7, xmm1
addss xmm7, dword [0x140049e64]
mulss xmm7, xmm2
mulss xmm10, dword [0x140049e68]
mulss xmm3, dword [0x140049e6c]
addss xmm10, xmm3
mulss xmm4, dword [0x140049e70]
addss xmm10, xmm4
addss xmm10, dword [0x140049e74]
mulss xmm10, xmm2
movd xmm0, dword [0x140049e18]
cvtdq2ps xmm0, xmm0
movss xmm12, dword [0x1400416a8]
mulss xmm7, xmm12
mulss xmm7, xmm0
mulss xmm0, xmm12
addss xmm7, xmm0
mulss xmm10, xmm12
mulss xmm10, xmm14
subss xmm15, xmm10
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm6, xmm15
subss xmm6, xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movaps xmm9, xmm7
subss xmm9, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm9
call fcn.14003261c
movaps xmm11, xmm0
cmp byte [0x14004c48a], 0
jne 0x14000ab79
cmp byte [0x14004c48c], 0
je 0x14000ac56
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000ab79
movss xmm0, dword [0x1400416c8]
comiss xmm0, xmm11
jbe 0x14000ab79
mov rax, qword [0x14004c528]
cmp rax, qword [0x140049e48]
je 0x14000ab05
cmp rax, rbx
jne 0x14000ab79
mov qword [0x14004c528], rbx
mov byte [rsp + 0x40], 1
xorps xmm8, xmm8
movss xmm10, dword [rsp + 0x44]
comiss xmm7, xmm8
jb 0x14000ab84
comiss xmm15, xmm8
jb 0x14000ab84
comiss xmm10, xmm8
jb 0x14000ab84
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x70], r14d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
cvttss2si eax, xmm9
mov dword [rbp - 0x78], eax
movaps xmm0, xmm6
addss xmm0, dword [0x1400416c0]
cvttss2si eax, xmm0
mov dword [rbp - 0x74], eax
mov dword [rbp - 0x6c], 1
mov r8d, 0x28
lea rdx, [rbp - 0x80]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x14000ab84
movss xmm10, dword [rsp + 0x44]
xorps xmm8, xmm8
cmp byte [0x14004c48c], 0
jne 0x14000ac56
cmp byte [0x14004c48a], 0
je 0x14000ac56
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000ac56
movss xmm0, dword [0x1400416d0]
comiss xmm0, xmm11
jbe 0x14000ac56
mov rax, qword [0x14004c528]
cmp rax, qword [0x140049e48]
je 0x14000abd9
cmp rax, rbx
jne 0x14000ac56
mov qword [0x14004c528], rbx
mov byte [rsp + 0x40], 1
comiss xmm7, xmm8
jb 0x14000ac56
comiss xmm15, xmm8
jb 0x14000ac56
movss xmm11, dword [0x1400416c4]
comiss xmm10, xmm8
jb 0x14000ac5f
mulss xmm9, dword [0x1400416bc]
mulss xmm6, dword [0x1400416bc]
mov qword [rbp - 0x58], 0
mov dword [rbp - 0x48], r14d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
cvttss2si eax, xmm9
mov dword [rbp - 0x50], eax
addss xmm6, xmm11
cvttss2si eax, xmm6
mov dword [rbp - 0x4c], eax
mov dword [rbp - 0x44], 1
mov r8d, 0x28
lea rdx, [rbp - 0x58]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x14000ac5f
movss xmm11, dword [0x1400416c4]
movss xmm0, dword [rsp + 0x58]
comiss xmm0, dword [0x140041698]
jb 0x14000af4a
movss xmm8, dword [rsp + 0x50]
subss xmm8, xmm15
movaps xmm6, xmm8
divss xmm6, dword [0x1400416b8]
cmp byte [0x140049d10], 0
je 0x14000aea2
mov ecx, 0x3c
cmp byte [0x14004c490], 0
cmovne ecx, r15d
cmp byte [0x14004c48d], 0
cmovne ecx, r12d
cvttss2si r8d, xmm15
movaps xmm9, xmm6
mulss xmm9, xmm12
cvttss2si eax, xmm8
cvttss2si r9d, xmm6
movaps xmm0, xmm7
subss xmm0, xmm9
cvttss2si edx, xmm0
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
call fcn.14000a5d0
movzx ecx, byte [rsi - 0x30]
movzx eax, cl
add al, al
add al, 0x37
movzx edi, al
or edi, 0x4b00
shl edi, 8
not cl
movzx eax, cl
or edi, eax
mov edx, dword [rsi - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140002cc0
mov rsi, rax
mov qword [rsp + 0x50], rax
cmp qword [rax + 0x18], 0xf
jbe 0x14000ad2d
mov rsi, qword [rax]
mov qword [rsp + 0x50], rsi
mov r13, qword [0x14004c508]
addss xmm9, xmm7
cvttss2si r12d, xmm9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rax
mov dword [rbp + 8], eax
mov dword [rbp - 0x30], 0xfffffff6
mov dword [rbp - 0x20], 0x190
mov byte [rbp - 0x16], 4
lea r8, str.Arial
lea edx, [rax + 0x20]
lea rcx, [rbp - 0x14]
call fcn.14001c618
lea rcx, [rbp - 0x30]
call qword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov r15, rax
mov rdx, rax
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov r14, rax
mov edx, edi
mov rcx, r13
call qword [sym.imp.GDI32.dll_SetTextColor]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov rdi, 0xffffffffffffffff
mov r9d, edi
mov r8, rsi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rsi, eax
mov eax, 2
mul rsi
cmovo rax, rdi
mov rcx, rax
call fcn.1400110bc
mov rdi, rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9, 0xffffffffffffffff
mov r8, qword [rsp + 0x50]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r9d, [rsi - 1]
mov dword [rsp + 0x20], r9d
mov r9, rdi
cvttss2si r8d, xmm15
mov edx, r12d
mov rcx, r13
call qword [sym.imp.GDI32.dll_TextOutW]
mov rcx, rdi
call fcn.140010c50
mov rdx, r14
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14000ae7b
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ae76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b016
call fcn.140010c50
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], r14b
mov rsi, qword [rsp + 0x48]
mov r15d, 0xa5ff
mov r12d, 0xff000a
cmp byte [0x14004c48b], 0
je 0x14000aef6
movaps xmm1, xmm6
mulss xmm1, dword [0x1400416a4]
movaps xmm0, xmm8
mulss xmm0, dword [0x1400416a0]
cvttss2si eax, xmm0
cvttss2si r9d, xmm1
cvttss2si r8d, xmm15
mulss xmm1, xmm12
movaps xmm0, xmm7
subss xmm0, xmm1
cvttss2si edx, xmm0
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], 0xff
mov dword [rsp + 0x20], eax
call fcn.14000a5d0
cmp byte [0x14004c489], 0
je 0x14000af4a
mulss xmm6, dword [0x14004169c]
mulss xmm8, dword [0x14004169c]
cvttss2si eax, xmm8
cvttss2si r9d, xmm6
addss xmm15, xmm11
cvttss2si r8d, xmm15
mulss xmm6, xmm12
subss xmm7, xmm6
cvttss2si edx, xmm7
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0xc8c8c8
mov dword [rsp + 0x20], eax
call fcn.14000a5d0
add rbx, 0xb0
add rsi, 0xb0
jmp 0x14000a88e
cmp byte [rsp + 0x40], 0
jne 0x14000af72
mov rax, qword [0x140049e48]
mov qword [0x14004c528], rax
lea rcx, [rsp + 0x48]
call fcn.14000a4d0
movabs rcx, 0x7fffffffffb3b4be
mov rax, qword [rsp + 0x48]
cmp rax, rcx
jg 0x14000af98
add rax, 0x4c4b40
jmp 0x14000afa2
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.14000c850
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140010c30
lea r11, [rsp + 0x1c0]
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]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c310
int3