Function at 0x18002e0e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x128
mov rax, qword [0x18005d440]
xor rax, rsp
mov qword [rsp + 0x110], rax
movzx eax, byte [0x180094636]
test eax, eax
jne 0x18002e16e
mov eax, dword [0x18005d3bc]
cmp dword [rsp + 0x130], eax
jne 0x18002e16e
mov byte [0x180094636], 1
movzx eax, byte [0x180094635]
test eax, eax
jne 0x18002e133
mov dword [rsp + 0x20], 1
jmp 0x18002e13b
mov dword [rsp + 0x20], 0
movzx eax, byte [rsp + 0x20]
mov byte [0x180094635], al
movzx eax, byte [0x180094684]
test eax, eax
jne 0x18002e15b
mov dword [rsp + 0x24], 1
jmp 0x18002e163
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
mov byte [0x180094684], al
movzx eax, byte [0x180094637]
test eax, eax
je 0x18002e19a
cmp dword [rsp + 0x130], 0
je 0x18002e19a
mov rax, qword [0x180094660]
mov ecx, dword [rsp + 0x130]
mov dword [rax], ecx
mov byte [0x180094637], 0
movzx eax, byte [0x180094ee2]
test eax, eax
je 0x18002e3ec
mov rdx, qword [0x180094f10]
lea rcx, [rsp + 0x70]
call fcn.180029440
nop
mov ecx, dword [rsp + 0x130]
call fcn.1800391a0
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.180029440
nop
cmp dword [rsp + 0x130], 0x61
jl 0x18002e1f0
cmp dword [rsp + 0x130], 0x7a
jle 0x18002e1fe
cmp dword [rsp + 0x130], 8
jne 0x18002e2d7
lea rdx, [0x1800542d8]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
je 0x18002e21e
cmp dword [rsp + 0x130], 8
jne 0x18002e266
lea rcx, [rsp + 0x50]
call fcn.180014770
dec rax
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.180044110
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.180029e00
lea rcx, [rsp + 0x90]
call fcn.180029db0
jmp 0x18002e2c6
mov rcx, qword [0x180094f10]
call fcn.180014770
cmp rax, 0x16
jae 0x18002e2c6
lea rdx, str.space
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
jne 0x18002e2a1
lea rdx, [0x1800542fc]
lea rcx, [rsp + 0x50]
call fcn.180033aa0
jmp 0x18002e2c6
lea rdx, [0x180054300]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
je 0x18002e2c6
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x50]
call fcn.180033aa0
lea rdx, [rsp + 0x50]
mov rcx, qword [0x180094f10]
call fcn.180029e80
mov ecx, 0xba
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18002e329
lea r8, [0x18005430c]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xb0]
call fcn.1800279f0
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.180029e00
lea rcx, [rsp + 0xb0]
call fcn.180029db0
jmp 0x18002e3c5
mov ecx, 0xbe
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18002e378
lea r8, [0x180054310]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xd0]
call fcn.1800279f0
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.180029e00
lea rcx, [rsp + 0xd0]
call fcn.180029db0
jmp 0x18002e3c5
mov ecx, 0xdc
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18002e3c5
lea r8, [0x180054314]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xf0]
call fcn.1800279f0
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.180029e00
lea rcx, [rsp + 0xf0]
call fcn.180029db0
lea rdx, [rsp + 0x50]
mov rcx, qword [0x180094f10]
call fcn.180029e80
nop
lea rcx, [rsp + 0x50]
call fcn.180029db0
nop
lea rcx, [rsp + 0x70]
call fcn.180029db0
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.18004a510
add rsp, 0x128
ret