Function at 0x140038580
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
lea rbp, [rax - 0xc8]
sub rsp, 0x1c0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rbx, rcx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm6, dword [rbx + 0x10]
subss xmm6, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm8, dword [rbx + 0x14]
subss xmm8, xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
divss xmm7, dword [0x14005abbc]
mov ecx, dword [0x14011241c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm1, dword [0x140112ca8]
movss xmm10, dword [0x14005aa20]
test ax, ax
jne 0x14003863e
comiss xmm10, xmm1
jbe 0x14003863e
cmp byte [0x140112400], al
jne 0x1400386b3
movss xmm0, dword [0x14011240c]
jmp 0x140038692
cmp byte [0x140112ccc], 0
je 0x140038681
mulss xmm1, dword [0x14005aa60]
movss xmm2, dword [0x14005aa80]
movaps xmm0, xmm2
subss xmm0, xmm1
cmp byte [0x14011242c], 0
jne 0x14003866f
movss xmm0, dword [0x140112410]
addss xmm0, dword [0x14005aa1c]
addss xmm0, xmm0
addss xmm0, xmm2
jmp 0x1400386aa
cmp byte [0x140112400], 0
jne 0x1400386b3
movss xmm0, dword [0x140112410]
addss xmm0, dword [0x14005aa1c]
addss xmm0, xmm7
addss xmm0, xmm0
addss xmm0, dword [0x14005aa80]
divss xmm6, xmm0
divss xmm8, xmm0
movss xmm9, dword [0x140112470]
divss xmm9, dword [0x14005ab48]
movss xmm7, dword [0x140112474]
divss xmm7, dword [0x14005ab48]
cmp byte [0x140112402], 0
je 0x140038716
mov ecx, dword [0x14011241c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400386fd
movss xmm0, dword [0x140112ca8]
comiss xmm0, xmm10
jbe 0x140038716
movss xmm0, dword [0x14005ab78]
divss xmm0, dword [0x140112478]
mulss xmm9, xmm0
mulss xmm7, xmm0
mulss xmm6, xmm9
mulss xmm7, xmm8
movd xmm0, dword [0x140112428]
cvtdq2ps xmm0, xmm0
addss xmm7, xmm0
movss dword [0x140112c90], xmm6
movss dword [0x140112c94], xmm7
movzx eax, word [0x140059ac0]
mov word [rsp + 0x20], ax
cmp byte [0x140059ac1], 0
je 0x14003875e
mov byte [rsp + 0x20], 0x5d
xor byte [rsp + 0x21], 0x3a
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea rax, [rsp + 0x20]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140038780
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x10]
call fcn.140001e30
nop
xorps xmm1, xmm1
cvtss2sd xmm1, xmm7
lea rcx, [rbp - 0x30]
call fcn.140037c20
nop
movzx eax, word [0x1400595cc]
mov word [rsp + 0x20], ax
cmp byte [0x1400595cd], 0
je 0x1400387c9
mov byte [rsp + 0x20], 0x2c
xor byte [rsp + 0x21], 0x3a
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rsp + 0x20]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x1400387e0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x50]
call fcn.140001e30
nop
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
lea rcx, [rbp - 0x70]
call fcn.140037c20
nop
movsd xmm0, qword [str.tUMYiQ]
movsd qword [rsp + 0x20], xmm0
movzx eax, word [0x14005a118]
mov word [rsp + 0x28], ax
cmp byte [0x14005a119], 0
je 0x14003885f
mov byte [rsp + 0x20], 0x4d
xor byte [rsp + 0x21], 0x3a
xor byte [rsp + 0x22], 0x3b
xor byte [rsp + 0x23], 0x3c
xor byte [rsp + 0x24], 0x3d
xor byte [rsp + 0x25], 0x3e
xor byte [rsp + 0x26], 0x3f
xor byte [rsp + 0x27], 0x40
xor byte [rsp + 0x28], 0x41
xor byte [rsp + 0x29], 0x42
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
lea rax, [rsp + 0x20]
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140038880
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140001e30
nop
lea r9, [rbp - 0x70]
lea r8, [rsp + 0x70]
lea rcx, [rbp + 0x50]
call fcn.14004f080
nop
lea r9, [rbp - 0x50]
lea r8, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.14004f080
nop
lea r9, [rbp - 0x30]
lea r8, [rbp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.14004f080
nop
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x10]
lea rcx, [rsp + 0x50]
call fcn.14004f080
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
nop
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140038910
mov r8, rbx
lea rcx, [rsp + 0x30]
call fcn.140001e30
lea rdx, [rsp + 0x30]
mov ecx, 3
call fcn.140037d80
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140038977
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038971
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038971
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400389b6
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400389b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400389b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x1400389f5
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400389ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400389ef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x140038a34
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038a2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038a2e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140038a74
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038a6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038a6e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140038ab2
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038aad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038aad
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
movdqa xmm0, xmmword [0x14005ac30]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140038b02
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038afc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038afc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140038b40
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038b3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038b3b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
movdqa xmm0, xmmword [0x14005ac30]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x140038b8f
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038b8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038b8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140050524
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x18]
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]
mov rsp, r11
pop rbp
ret