Function at 0x180029c00
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xa0
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
mov rdi, rcx
mov ebx, 1
xor ebp, ebp
cmp byte [0x180175fd8], bpl
jne 0x180029cb6
mov dword [0x180175fb0], 0xff
mov ecx, ebx
call fcn.1800a8f98
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebp
mov r9, rax
lea r8, [0x18002d2e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180029cd4
cmp dword [rsp + 0x38], ebp
jne 0x180029c93
mov ecx, ebx
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x180029cb6
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov qword [rsp + 0xe0], rdi
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x180029ce4
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov dword [rsp + 0x38], ebp
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov byte [0x180175fd8], 1
movabs rsi, 0x5f4b6931816e599b
movss xmm9, dword [0x1800d6e68]
cmp byte [rdi + 0x50], 0
je 0x180029dda
cmp byte [rdi + 0x51], 0
je 0x180029dda
mov dword [0x18011a828], ebp
mov qword [0x180177578], rsi
mov qword [0x18011a8f0], rbp
mov dword [0x18011a818], ebx
call fcn.18002d330
mov ecx, ebx
call qword [sym.imp.USER32.dll_ShowCursor]
movss xmm8, dword [rdi + 0xb4]
addss xmm8, dword [rdi + 0x80]
addss xmm8, dword [rdi + 0xfc]
movss xmm6, dword [rdi + 0x5c]
movaps xmm7, xmm6
mulss xmm7, xmm9
addss xmm7, dword [rdi + 0x54]
mulss xmm8, xmm9
movaps xmm10, xmm8
addss xmm10, dword [rdi + 0x58]
lea rcx, [rsp + 0xd8]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm3, dword [rsp + 0xd8]
cvtdq2ps xmm3, xmm3
movd xmm0, dword [rsp + 0xdc]
cvtdq2ps xmm0, xmm0
mulss xmm6, xmm9
movaps xmm2, xmm7
subss xmm2, xmm6
addss xmm7, xmm6
movaps xmm1, xmm8
addss xmm1, xmm10
subss xmm10, xmm8
comiss xmm3, xmm7
ja 0x180029dda
comiss xmm2, xmm3
ja 0x180029dda
comiss xmm0, xmm1
ja 0x180029dda
comiss xmm10, xmm0
ja 0x180029dda
lea rcx, str.Kekkeke
call fcn.1800270b0
mov rax, qword [0x18011cd28]
cmp byte [rax + 0x50], 0
je 0x180029e11
movzx eax, byte [0x180177679]
test al, al
je 0x180029e11
mov dword [0x18011a828], ebp
mov qword [0x180177578], rsi
mov qword [0x18011a8f0], rbp
mov dword [0x18011a818], ebx
call fcn.18002d330
mov dword [rdi + 0x170], 0
mov word [rdi + 0x174], 0
mov byte [rdi + 0x176], 0
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x170], al
mov ecx, 8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x171], al
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x172], al
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x173], al
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x174], al
mov ecx, 0x25
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x175], al
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x176], al
mov rcx, rdi
call fcn.18002a4f0
cmp byte [rdi + 0x50], 0
je 0x18002a0d0
mov dword [0x18011a828], ebp
movabs rax, 0xfe99b66d079cf6bc
mov qword [0x180177578], rax
mov qword [0x18011a8f0], rbp
mov qword [rsp + 0xd8], rbp
mov dword [rsp + 0xd8], 0x1b
mov rax, qword [rsp + 0xd8]
mov qword [0x18011a8f8], rax
mov qword [rsp + 0xd8], rbp
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x18011a900], rax
mov dword [0x18011a818], 3
call fcn.18002d330
mov eax, dword [rdi + 0x58]
mov dword [rdi + 0x178], eax
mov rcx, rdi
call fcn.18002b840
mov rsi, qword [rdi + 0x1a0]
cmp qword [rdi + 0x198], rsi
je 0x18002a0bf
mov rsi, qword [rsi - 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
mov rdx, rsi
mov rcx, rdi
call fcn.18002be20
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18002a0bf
mov r14, qword [rdi + 0x60]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
cmp rax, r14
ja 0x180029fba
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov r14, rax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x30]
cmp rax, qword [rdi + 0x60]
jbe 0x180029ff6
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x38]
cmp rax, qword [rdi + 0x60]
jb 0x180029ff6
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x38]
sub rbx, qword [rdi + 0x60]
lea rbp, [rbx + rax]
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x38]
lea r14, [rax + 1]
movss xmm6, dword [rdi + 0x178]
mov rbx, rbp
cmp rbp, r14
jae 0x18002a0bf
lea r15, [r14 - 1]
movss xmm1, dword [rdi + 0xcc]
nop word [rax + rax]
movaps xmm2, xmm1
mulss xmm2, xmm9
addss xmm2, xmm6
cvtps2pd xmm0, xmm2
cmp rbx, rbp
jne 0x18002a03c
movsd qword [0x180175fb8], xmm0
cmp rbx, r15
jne 0x18002a049
movsd qword [0x180174fb8], xmm0
mov eax, dword [rdi + 0xe8]
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm1
movss xmm3, dword [rdi + 0x5c]
movss xmm1, dword [rdi + 0x54]
call fcn.18002cc90
movss xmm1, dword [rdi + 0xcc]
addss xmm6, xmm1
inc rbx
cmp rbx, r14
jb 0x18002a020
cmp rbp, r14
jae 0x18002a0bf
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x38]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x38]
cmp rbp, rax
sete bl
mov rax, qword [rsi]
mov rdx, rbp
mov rcx, rsi
call qword [rax + 0x28]
mov r9, rsi
movzx r8d, bl
mov rdx, rax
mov rcx, rdi
call fcn.18002c150
inc rbp
cmp rbp, r14
jb 0x18002a081
mov rcx, rdi
call fcn.18002c760
mov rcx, rdi
call fcn.18002c990
nop
mov rcx, rdi
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
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 r15
pop r14
pop rdi
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll__Mtx_unlock]