Function at 0x18000f620
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x70
mov rax, qword [0x1802b53c0]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rbx, rcx
mov qword [rsp + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
xor r8d, r8d
lea rdx, [0x180070951]
lea rcx, [rsp + 0x28]
call fcn.180002280
nop
xor edx, edx
lea rcx, [rsp + 0x28]
call fcn.180047430
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x18000f6b0
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f6ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000f6ab
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004bc34
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xor eax, eax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], eax
lea rdx, str.CraftRise
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
jne 0x18000f701
lea rdx, str.Failed_to_get_window
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180003440
lea rdx, [0x18000fb70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [rsp + 0x58]
jmp 0x18000f753
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jne 0x18000f741
lea rdx, str.Failed_to_get_process_ID
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180003440
lea rdx, [0x18000fb70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov r8d, dword [rsp + 0x60]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x18000f79f
lea rdx, str.ERROR
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180003440
lea rdx, [0x18000fb70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18000f78c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18004bbd0
add rsp, 0x70
pop rbx
ret
lea rcx, [rsp + 0x58]
call fcn.180045860
mov rcx, qword [0x1802b6050]
add rcx, 0x20
lea r8, [0x1802b5e60]
mov edx, 1
call qword [sym.imp.jvm.dll_JNI_GetCreatedJavaVMs]
test eax, eax
jne 0x18000f77c
cmp dword [0x1802b5e60], eax
je 0x18000f77c
lea rdx, str.JavaVM:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180003440
mov rcx, qword [0x1802b6050]
mov rdx, qword [rcx + 0x20]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, [0x18000fb70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rdx, qword [0x1802b6050]
mov rcx, qword [rdx + 0x20]
add rdx, 0x18
mov r8d, 0x10006
call fcn.180003170
cmp eax, 0xfffffffe
jne 0x18000f83c
mov rdx, qword [0x1802b6050]
mov rcx, qword [rdx + 0x20]
add rdx, 0x18
call fcn.180004530
lea rdx, str.JNIEnv:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180003440
mov rcx, qword [0x1802b6050]
mov rdx, qword [rcx + 0x18]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, [0x18000fb70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [0x1802b6068]
call fcn.180004540
lea rdx, str.mapper_done_n
lea rcx, [rsp + 0x28]
call fcn.180001c70
nop
mov dl, 1
lea rcx, [rsp + 0x28]
call fcn.180047430
nop
lea rcx, [rsp + 0x28]
call fcn.180001c10
nop
call fcn.180010080
nop
jmp 0x18000f8b6
cmp byte [0x1802b5425], 0
je 0x18000f906
mov dword [rsp + 0x20], 0xa
nop word [rax + rax]
mov ecx, 0x2e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18000f8e6
mov byte [0x1802b5425], 0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.18000fbb0
mov rcx, rax
call fcn.18000fbc0
cmp byte [0x1802b5425], 0
jne 0x18000f8d0
call fcn.180010210
call fcn.180047df0
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibraryAndExitThread]