Function at 0x18001d7d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
sub rsp, 0x1a0
movss xmm0, dword [0x180296c8c]
movaps xmmword [rax - 0x18], xmm6
xorps xmm6, xmm6
ucomiss xmm0, xmm6
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r14
mov r14d, 4
jne 0x18001d84a
call fcn.180017060
mov rbx, rax
test rax, rax
jne 0x18001d813
xorps xmm0, xmm0
jmp 0x18001d842
mov rax, qword gs:[0x58]
mov ecx, dword [0x180296940]
mov rcx, qword [rax + rcx*8]
mov eax, dword [r14 + rcx]
cmp dword [0x1802bda50], eax
jg 0x18001de73
mov rax, qword [0x1802bd8c0]
movss xmm0, dword [rax + rbx]
movss dword [0x180296c8c], xmm0
movaps xmmword [rsp + 0x180], xmm7
call fcn.180017060
mov rcx, rax
call fcn.180016ed0
mov rdi, rax
movabs rbp, 0x7fffffff0000
lea rdx, [rax + 0x18]
cmp rdx, 0x40000
jbe 0x18001db01
lea rcx, [rdx + 8]
cmp rcx, rbp
jae 0x18001d8a7
mov rcx, qword [rdx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18001d8a7
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x18001d8a7
cmp dword [rcx], 0x40547fde
je 0x18001d8ee
cmp rdx, 0x40000
jbe 0x18001db01
lea rax, [rdx + 8]
cmp rax, rbp
jae 0x18001db01
mov rcx, qword [rdx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18001db01
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x18001db01
cmp dword [rcx], 0x847b9bf0
jne 0x18001db01
cmp byte [0x180296bd3], 0
je 0x18001db01
call fcn.180017060
mov rbx, rax
test rax, rax
je 0x18001d944
mov rcx, qword gs:[0x58]
mov edx, dword [0x180296940]
mov rdx, qword [rcx + rdx*8]
mov ecx, dword [r14 + rdx]
cmp dword [0x1802be034], ecx
jg 0x18001deae
mov rax, qword [0x1802bddc8]
movss xmm0, dword [rax + rbx]
comiss xmm0, dword [0x180123ca8]
jae 0x18001db01
lea rcx, [rdi + 0xa8]
cmp rcx, 0x40000
jbe 0x18001daf4
lea rax, [rcx + 8]
cmp rax, rbp
jae 0x18001daf4
mov rdi, qword [rcx]
lea rcx, [rdi + 0x190]
cmp rcx, 0x40000
jbe 0x18001daf4
lea rax, [rcx + 1]
cmp rax, rbp
jae 0x18001daf4
movzx ebx, byte [rcx]
call fcn.180017060
mov rcx, rax
call fcn.1800161f0
movss xmm7, dword [rax]
test bl, bl
je 0x18001db01
movss xmm0, dword [0x180296c8c]
addss xmm0, dword [0x180123730]
comiss xmm7, xmm0
jbe 0x18001db01
mov r11, qword [0x180296ae0]
lea rdx, [rsp + 0x20]
movabs rax, 0xb49143f745cef5ea
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x1b0], rax
add r11, 0x583210
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x20], rax
movabs rax, 0x1a7911257ab42061
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
movabs rax, 0xb4c2439245bdf5bf
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x30], rax
movabs rax, 0x1a7911437ad82004
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x38], rax
movdqa xmm0, xmmword [rsp + 0x30]
pxor xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1800075e0
lea rdx, [rsp + 0x40]
mov rcx, rdi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x70], xmm1
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0x90], xmm1
movups xmm1, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xb0], xmm1
movsd xmm1, qword [rax + 0x90]
movaps xmmword [rsp + 0xc0], xmm0
movsd qword [rsp + 0xd0], xmm1
call r11
movss dword [0x180296c8c], xmm7
jmp 0x18001db01
call fcn.180017060
mov rcx, rax
call fcn.1800161f0
mov rcx, qword [0x180296ae0]
xor ebx, ebx
movaps xmm7, xmmword [rsp + 0x180]
add rcx, 0x338f418
mov r14, qword [rsp + 0x1c0]
cmp rcx, 0x40000
jbe 0x18001db54
lea rax, [rcx + 8]
cmp rax, rbp
jae 0x18001db54
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18001db54
lea rax, [rcx + 8]
cmp rax, rbp
jae 0x18001db54
mov rdi, qword [rcx]
jmp 0x18001db57
mov rdi, rbx
cmp byte [0x180296b88], bl
je 0x18001db8e
mov ecx, dword [0x180296c14]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001db8e
add rdi, 0x18
cmp rdi, 0x40000
jbe 0x18001dbaa
lea rax, [rdi + 4]
cmp rax, rbp
jae 0x18001dbaa
mov dword [rdi], 0x41200000
jmp 0x18001dbaa
add rdi, 0x18
cmp rdi, 0x40000
jbe 0x18001dbaa
lea rax, [rdi + 4]
cmp rax, rbp
jae 0x18001dbaa
mov dword [rdi], 0x43160000
cmp byte [0x1802bd638], bl
movss xmm0, dword [0x1802bd62c]
mov rdi, qword [rsp + 0x1b8]
jne 0x18001dc96
comiss xmm0, dword [0x180123de4]
jae 0x18001dc96
addss xmm0, dword [0x18012367c]
movss dword [0x1802bd62c], xmm0
mov byte [0x1802bd638], bl
mov rax, qword [0x180296ae0]
add rax, 0x284a7f0
call rax
movss xmm1, dword [0x1802bd62c]
mov rcx, rax
mov rdx, qword [0x180296ae0]
mulss xmm1, dword [0x180123574]
add rdx, 0x284b020
call rdx
call fcn.180017060
add rax, 0x610
cmp rax, 0x40000
jbe 0x18001dc74
lea rcx, [rax + 8]
cmp rcx, rbp
jae 0x18001dc74
mov rcx, qword [rax]
mov rdx, rcx
lea r8, [rcx + 0xc4]
cmp r8, 0x40000
jbe 0x18001dc59
lea rax, [r8 + 4]
cmp rax, rbp
jae 0x18001dc59
mov dword [r8], ebx
lea rcx, [rdx + 0xc8]
cmp rcx, 0x40000
jbe 0x18001dc74
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x18001dc74
mov dword [rcx], ebx
call fcn.180017060
lea rcx, [rax + 0x820]
cmp rcx, 0x40000
jbe 0x18001dcd8
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x18001dcbf
mov edx, dword [rcx]
jmp 0x18001dcd3
comiss xmm0, dword [0x180123de0]
mov byte [0x1802bd638], 1
jbe 0x18001dbe3
addss xmm0, dword [0x180123e4c]
movss dword [0x1802bd62c], xmm0
jmp 0x18001dbe9
cmp rcx, 0x40000
jbe 0x18001dcd8
lea rax, [rcx + 4]
mov edx, ebx
cmp rax, rbp
jae 0x18001dcd8
or edx, 4
mov dword [rcx], edx
call fcn.180017060
mov rcx, qword [0x180296ae0]
add rcx, 0x3347b18
cmp rcx, 0x40000
jbe 0x18001dd36
lea rax, [rcx + 8]
cmp rax, rbp
jae 0x18001dd36
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18001dd36
lea rax, [rcx + 8]
cmp rax, rbp
jae 0x18001dd36
mov rcx, qword [rcx]
cmp rcx, 0x40000
jbe 0x18001dd39
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x18001dd39
mov dword [rcx], 0x41200000
jmp 0x18001dd39
mov rcx, rbx
cmp byte [0x1802bd630], bl
movss xmm0, dword [0x180295c50]
movss xmm1, dword [0x180123c08]
je 0x18001dd56
ucomiss xmm0, xmm1
je 0x18001dd85
comiss xmm0, xmm1
mov byte [0x1802bd630], bl
jae 0x18001dd71
addss xmm0, dword [0x180123610]
movss dword [0x180295c50], xmm0
comiss xmm0, dword [0x180123c04]
jb 0x18001dd85
xorps xmm0, xmm0
movss dword [0x180295c50], xmm0
cmp rcx, 0x40000
jbe 0x18001dd9b
lea rax, [rcx + 4]
cmp rax, rbp
jae 0x18001dd9b
movss dword [rcx], xmm0
mov ecx, dword [0x180296c24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001de5a
call fcn.180017060
add rax, 0x828
cmp rax, 0x40000
jbe 0x18001ddcf
lea rcx, [rax + 8]
cmp rcx, rbp
jae 0x18001ddcf
mov rbx, qword [rax]
cmp byte [0x1802bd614], 0
movss xmm0, dword [0x180295c58]
movss xmm1, dword [0x180123c40]
je 0x18001dded
ucomiss xmm0, xmm1
je 0x18001de1d
comiss xmm0, xmm1
mov byte [0x1802bd614], 0
jae 0x18001de09
addss xmm0, dword [0x180123638]
movss dword [0x180295c58], xmm0
comiss xmm0, dword [0x180123c3c]
jb 0x18001de1d
xorps xmm0, xmm0
movss dword [0x180295c58], xmm0
add rbx, 0x38
movss dword [rsp + 0x24], xmm0
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
cmp rbx, 0x40000
jbe 0x18001de5a
lea rax, [rbx + 0xc]
cmp rax, rbp
jae 0x18001de5a
movsd xmm0, qword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
movsd qword [rbx], xmm0
mov dword [rbx + 8], eax
mov rbx, qword [rsp + 0x1c8]
movaps xmm6, xmmword [rsp + 0x190]
add rsp, 0x1a0
pop rbp
ret
lea rcx, [0x1802bda50]
call fcn.1800f8774
cmp dword [0x1802bda50], 0xffffffff
jne 0x18001d836
mov ecx, 0xc566d10
call fcn.18000c310
lea rcx, [0x1802bda50]
mov qword [0x1802bd8c0], rax
call fcn.1800f8714
jmp 0x18001d836
lea rcx, [0x1802be034]
call fcn.1800f8774
cmp dword [0x1802be034], 0xffffffff
jne 0x18001d92b
mov ecx, 0x43f29029
call fcn.18000c310
lea rcx, [0x1802be034]
mov qword [0x1802bddc8], rax
call fcn.1800f8714
jmp 0x18001d92b