Function at 0x180125090
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x960
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x190
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x18021f4c0]
xor rax, rbp
mov qword [rbp + 0x938], rax
lea rcx, [0x18023886c]
call fcn.180141e90
nop
movzx eax, byte [0x1802268c6]
test eax, eax
je 0x180125857
mov eax, 4
mov eax, eax
mov ecx, dword [0x180229c40]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x180226b78], eax
jle 0x180125132
lea rcx, [0x180226b78]
call fcn.180142df0
cmp dword [0x180226b78], 0xffffffff
jne 0x180125132
lea rcx, [0x180226b70]
call fcn.180123dc0
nop
lea rcx, [0x180226b78]
call fcn.180142d90
nop
call fcn.1801392c0
mov qword [rbp + 8], rax
mov edx, 8
lea rcx, [rbp + 0x28]
call fcn.18000e480
lea rcx, [rbp + 0x28]
call fcn.1801393e0
nop
mov edx, 8
lea rcx, [rbp + 0x48]
call fcn.18000e4c0
lea rcx, [rbp + 0x48]
call fcn.180139480
nop
cmp qword [rbp + 8], 0
je 0x180125857
lea rax, [rbp + 0x28]
test rax, rax
je 0x180125857
lea rcx, [rbp + 0x48]
call fcn.1801396c0
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
je 0x180125857
mov rdx, qword [rbp + 0x68]
mov rcx, qword [0x18021f8a8]
call fcn.18011e240
mov qword [rbp + 0x88], rax
lea r9, [0x1801924a4]
lea r8, [0x18016c3ec]
mov rdx, qword [rbp + 0x88]
mov rcx, qword [0x18021f8a8]
call fcn.18011e1c0
mov qword [rbp + 0xa8], rax
lea r9, str._I_Ljava_lang_Object_
lea r8, [0x1801924c0]
mov rdx, qword [rbp + 0x88]
mov rcx, qword [0x18021f8a8]
call fcn.18011e1c0
mov qword [rbp + 0xc8], rax
mov r8, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x68]
mov rcx, qword [0x18021f8a8]
call fcn.18011d090
mov dword [rbp + 0xe4], eax
mov dword [rbp + 0x104], 0
jmp 0x180125239
mov eax, dword [rbp + 0x104]
inc eax
mov dword [rbp + 0x104], eax
mov eax, dword [rbp + 0xe4]
cmp dword [rbp + 0x104], eax
jge 0x180125857
mov r9d, dword [rbp + 0x104]
mov r8, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0x68]
mov rcx, qword [0x18021f8a8]
call fcn.18011d170
mov qword [rbp + 0x128], rax
cmp qword [rbp + 0x128], 0
je 0x180125852
mov edx, 0x30
lea rcx, [rbp + 0x148]
call fcn.1801201f0
mov rdx, qword [rbp + 0x128]
lea rcx, [rbp + 0x148]
call fcn.180139b80
nop
lea rdx, [rbp + 0x628]
lea rcx, [rbp + 0x28]
call fcn.180138c10
mov qword [rbp + 0x918], rax
mov rax, qword [rbp + 0x918]
mov qword [rbp + 0x920], rax
mov rax, qword [rbp + 0x920]
mov qword [rbp + 0x928], rax
lea rdx, [rbp + 0x198]
mov rcx, qword [rbp + 0x928]
call fcn.180139ee0
nop
lea rcx, [rbp + 0x628]
call fcn.18011c340
nop
lea rax, [rbp + 0x6d8]
lea rcx, [rbp + 0x198]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x678]
lea rcx, [rbp + 0x148]
call fcn.180139ee0
lea rcx, [rbp + 0x6a8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x8f0]
lea rcx, [rbp + 0x6d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x8b0]
lea rcx, [rbp + 0x6a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x8f0]
lea rcx, [rbp + 0x8b0]
call fcn.180138280
movsd qword [rbp + 0x1c8], xmm0
lea rdx, [rbp + 0x708]
lea rcx, [rbp + 0x148]
call fcn.180139e00
mov rcx, rax
call fcn.18013a530
movss dword [rbp + 0x1e4], xmm0
mov r8, qword [rbp + 0x128]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x148]
call fcn.180139be0
nop
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x248]
call fcn.180121310
nop
movsd xmm0, qword [rbp + 0x1c8]
comisd xmm0, xmmword [0x1801736d8]
jbe 0x18012553b
movsd xmm0, qword [0x180193408]
comisd xmm0, xmmword [rbp + 0x1c8]
jbe 0x18012553b
cvtss2sd xmm0, dword [rbp + 0x1e4]
ucomisd xmm0, qword [0x18014f0a0]
jp 0x180125420
je 0x18012553b
cvtss2sd xmm0, dword [rbp + 0x1e4]
ucomisd xmm0, qword [0x18014f090]
jp 0x180125438
je 0x18012553b
mov ecx, 0x60
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18012553b
lea rdx, [rbp + 0x248]
lea rcx, [0x180226a40]
call fcn.18011c3d0
nop
lea r8, [0x180226a40]
lea rdx, [0x1801924f0]
lea rcx, [rbp + 0x728]
call fcn.180119040
mov qword [rbp + 0x918], rax
mov rax, qword [rbp + 0x918]
mov qword [rbp + 0x920], rax
lea r8, [0x1801924c8]
mov rdx, qword [rbp + 0x920]
lea rcx, [rbp + 0x768]
call fcn.180118f40
mov qword [rbp + 0x928], rax
mov rax, qword [rbp + 0x928]
mov qword [rbp + 0x930], rax
mov rdx, qword [rbp + 0x930]
lea rcx, [rbp + 0x28]
call fcn.1801386a0
nop
lea rcx, [rbp + 0x768]
call fcn.18000bc30
nop
lea rcx, [rbp + 0x728]
call fcn.18000bc30
nop
lea rdx, [rbp + 0x248]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180118af0
lea rdx, [0x1801922d8]
mov rcx, rax
call fcn.1800079a0
lea rdx, [0x180226a40]
mov rcx, rax
call fcn.180118af0
mov qword [rbp + 0x918], rax
lea rdx, [0x18000a740]
mov rcx, qword [rbp + 0x918]
call qword [sym.imp.MSVCP140D.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
movzx eax, byte [0x18021f8c5]
test eax, eax
je 0x1801256b7
lea rdx, [0x180226a40]
lea rcx, [rbp + 0x248]
call fcn.180118b60
movzx eax, al
test eax, eax
jne 0x1801256b2
movsd xmm0, qword [rbp + 0x1c8]
comisd xmm0, xmmword [0x1801736d8]
jbe 0x1801256b2
cvtss2sd xmm0, dword [0x1801b104c]
comisd xmm0, xmmword [rbp + 0x1c8]
jbe 0x1801256b2
cvtss2sd xmm0, dword [rbp + 0x1e4]
ucomisd xmm0, qword [0x18014f0a0]
jp 0x1801255ac
je 0x1801256b2
cvtss2sd xmm0, dword [rbp + 0x1e4]
ucomisd xmm0, qword [0x18014f090]
jp 0x1801255c4
je 0x1801256b2
lea rdx, [0x180226a40]
lea rcx, [rbp + 0x248]
call fcn.180118b60
movzx eax, al
test eax, eax
jne 0x1801256b2
lea rdx, [rbp + 0x7a8]
lea rcx, [rbp + 0x148]
call fcn.180139e00
mov rcx, rax
call fcn.18013a530
movss dword [rbp + 0x284], xmm0
lea rcx, [rbp + 0x7c8]
call fcn.180123dc0
lea r8, [0x180226b70]
mov rdx, rax
lea rcx, [rbp + 0x7e8]
call fcn.180118bb0
mov rdx, rax
lea rcx, [rbp + 0x2a8]
call fcn.18011b3c0
nop
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1801256b2
lea rcx, [rbp + 0x2a8]
call fcn.1801218d0
cmp rax, 0x64
jl 0x1801256b2
movss xmm1, dword [rbp + 0x284]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___float____ptr64]
mov qword [rbp + 0x918], rax
lea rdx, [0x18000a740]
mov rcx, qword [rbp + 0x918]
call qword [sym.imp.MSVCP140D.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 [rbp + 0x128]
call fcn.180120e50
nop
lea rcx, [rbp + 0x808]
call fcn.180123dc0
mov rax, qword [rax]
mov qword [0x180226b70], rax
jmp 0x18012582b
lea rdx, [0x180226a40]
lea rcx, [rbp + 0x248]
call fcn.180118b60
movzx eax, al
test eax, eax
jne 0x18012582b
movsd xmm0, qword [rbp + 0x1c8]
comisd xmm0, xmmword [0x1801736d8]
jbe 0x18012582b
cvtss2sd xmm0, dword [0x1801b104c]
comisd xmm0, xmmword [rbp + 0x1c8]
jbe 0x18012582b
cvtss2sd xmm0, dword [rbp + 0x1e4]
ucomisd xmm0, qword [0x18014f0a0]
jp 0x180125719
je 0x18012582b
cvtss2sd xmm0, dword [rbp + 0x1e4]
ucomisd xmm0, qword [0x18014f090]
jp 0x180125731
je 0x18012582b
lea rdx, [0x180226a40]
lea rcx, [rbp + 0x248]
call fcn.180118b60
movzx eax, al
test eax, eax
jne 0x18012582b
lea rdx, [rbp + 0x828]
lea rcx, [rbp + 0x148]
call fcn.180139e00
mov rcx, rax
call fcn.18013a530
movss dword [rbp + 0x2c4], xmm0
call qword [sym.imp.ucrtbased.dll_rand]
cdq
mov ecx, 0x190
idiv ecx
mov eax, edx
add eax, 0x191
mov dword [rbp + 0x2e4], eax
lea rcx, [rbp + 0x848]
call fcn.180123dc0
lea r8, [0x180226b70]
mov rdx, rax
lea rcx, [rbp + 0x868]
call fcn.180118bb0
mov rdx, rax
lea rcx, [rbp + 0x308]
call fcn.18011b3c0
nop
lea rcx, [rbp + 0x308]
call fcn.1801218d0
movsxd rcx, dword [rbp + 0x2e4]
cmp rax, rcx
jl 0x18012582b
movss xmm1, dword [rbp + 0x2c4]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___float____ptr64]
mov qword [rbp + 0x918], rax
lea rdx, [0x18000a740]
mov rcx, qword [rbp + 0x918]
call qword [sym.imp.MSVCP140D.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 [rbp + 0x128]
call fcn.180120e50
nop
lea rcx, [rbp + 0x888]
call fcn.180123dc0
mov rax, qword [rax]
mov qword [0x180226b70], rax
lea rcx, [rbp + 0x248]
call fcn.18000bc30
nop
lea rcx, [rbp + 0x208]
call fcn.18000bc30
nop
lea rcx, [rbp + 0x148]
call fcn.18011c340
nop
jmp 0x18012522b
lea rcx, [rbp - 0x20]
lea rdx, [0x1801906f0]
call fcn.180141c60
mov rcx, qword [rbp + 0x938]
xor rcx, rbp
call fcn.1801420e0
lea rsp, [rbp + 0x940]
pop rdi
pop rsi
pop rbp
ret