Function at 0x180005700
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
cmp byte [0x18008976f], 0
lea rsi, str.user32
movabs rdi, 0x7fffffff0000
je 0x180005805
mov rax, qword [0x180089cc8]
test rax, rax
jne 0x18000577c
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180001590
mov rcx, rax
lea rdx, [0x18005eb20]
call fcn.180001420
mov qword [0x180089cc8], rax
mov ecx, dword [0x180089778]
call rax
test ax, ax
mov rax, qword [0x180089860]
lea rcx, [rax + 0x4d8]
je 0x1800057d2
movss xmm0, dword [0x18006d0c0]
cmp rcx, 0x400000
jbe 0x180005805
add rax, 0x4e0
cmp rax, rdi
jae 0x180005805
mov rax, qword [rcx]
lea rcx, [rax + 0x74]
cmp rcx, 0x400000
jbe 0x180005805
add rax, 0x78
cmp rax, rdi
jae 0x180005805
movss dword [rcx], xmm0
jmp 0x180005805
cmp rcx, 0x400000
jbe 0x180005805
add rax, 0x4e0
cmp rax, rdi
jae 0x180005805
mov rax, qword [rcx]
lea rcx, [rax + 0x74]
cmp rcx, 0x400000
jbe 0x180005805
add rax, 0x78
cmp rax, rdi
jae 0x180005805
mov dword [rcx], 0x40400000
cmp byte [0x18008977e], 0
je 0x1800058a0
mov rax, qword [0x180089cd8]
test rax, rax
jne 0x180005856
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180001590
mov rcx, rax
lea rdx, [0x18005eb20]
call fcn.180001420
mov qword [0x180089cd8], rax
mov ecx, 5
call rax
test ax, ax
mov rax, qword [0x180089860]
lea rcx, [rax + 0x4b8]
je 0x180005889
cmp rcx, 0x400000
jbe 0x1800058a0
add rax, 0x4b9
cmp rax, rdi
jae 0x1800058a0
mov byte [rcx], 1
jmp 0x1800058a0
cmp rcx, 0x400000
jbe 0x1800058a0
add rax, 0x4b9
cmp rax, rdi
jae 0x1800058a0
mov byte [rcx], 0
xor ebx, ebx
cmp byte [0x180089780], bl
je 0x180005900
mov ecx, dword [0x180089798]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180005900
mov rax, qword [0x180089860]
lea rcx, [rax + 0x640]
cmp rcx, 0x400000
jbe 0x180005900
add rax, 0x648
cmp rax, rdi
jae 0x180005900
mov rax, qword [rcx]
lea rcx, [rax + 0x38]
cmp rcx, 0x400000
jbe 0x180005900
add rax, 0x44
cmp rax, rdi
jae 0x180005900
mov dword [rcx], ebx
mov qword [rcx + 4], 0x3fc00000
cmp byte [0x18008979d], bl
je 0x18000596d
mov rax, qword [0x180089d60]
lea rcx, [rax + 0x31be480]
cmp rcx, 0x400000
jbe 0x18000596d
add rax, 0x31be488
cmp rax, rdi
jae 0x18000596d
mov rax, qword [rcx]
lea rcx, [rax + 0xb8]
cmp rcx, 0x400000
jbe 0x18000596d
add rax, 0xc0
cmp rax, rdi
jae 0x18000596d
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x18000596d
add rax, 0x1c
cmp rax, rdi
jae 0x18000596d
movss xmm0, dword [0x18006d0b8]
movss dword [rcx], xmm0
cmp byte [0x180089775], bl
je 0x180005a90
mov rax, qword [0x180089d28]
test rax, rax
jne 0x1800059bd
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180001590
mov rcx, rax
lea rdx, [0x18005eb20]
call fcn.180001420
mov qword [0x180089d28], rax
mov ecx, dword [0x18008978c]
call rax
test ax, ax
mov rax, qword [0x180089d60]
lea rcx, [rax + 0x31be480]
je 0x180005a39
cmp rcx, 0x400000
jbe 0x180005a90
add rax, 0x31be488
cmp rax, rdi
jae 0x180005a90
mov rax, qword [rcx]
lea rcx, [rax + 0xb8]
cmp rcx, 0x400000
jbe 0x180005a90
add rax, 0xc0
cmp rax, rdi
jae 0x180005a90
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180005a90
add rax, 0x1c
cmp rax, rdi
jae 0x180005a90
movss xmm0, dword [0x18006d0bc]
jmp 0x180005a8c
cmp rcx, 0x400000
jbe 0x180005a90
add rax, 0x31be488
cmp rax, rdi
jae 0x180005a90
mov rax, qword [rcx]
lea rcx, [rax + 0xb8]
cmp rcx, 0x400000
jbe 0x180005a90
add rax, 0xc0
cmp rax, rdi
jae 0x180005a90
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180005a90
add rax, 0x1c
cmp rax, rdi
jae 0x180005a90
movss xmm0, dword [0x18006d0b8]
movss dword [rcx], xmm0
cmp byte [0x180089797], bl
je 0x180005ac0
mov rax, qword [0x180089860]
lea rcx, [rax + 0x700]
cmp rcx, 0x400000
jbe 0x180005ac0
add rax, 0x704
cmp rax, rdi
jae 0x180005ac0
mov dword [rcx], 0x3e19999a
cmp byte [0x1800897a4], bl
je 0x180005aec
mov rax, qword [0x180089860]
lea rcx, [rax + 0x6f8]
cmp rcx, 0x400000
jbe 0x180005aec
add rax, 0x6f9
cmp rax, rdi
jae 0x180005aec
mov byte [rcx], bl
cmp byte [0x18008976d], bl
je 0x180005b61
mov rax, qword [0x180089860]
lea rcx, [rax + 0x6fc]
add rax, 0x700
cmp rcx, 0x400000
jbe 0x180005b61
cmp rax, rdi
jae 0x180005b61
movss xmm1, dword [rcx]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
je 0x180005b4d
comiss xmm1, dword [0x1800659f8]
jbe 0x180005b3c
comiss xmm1, dword [0x180065a20]
jae 0x180005b3c
mov dword [rcx], 0x3e19999a
jmp 0x180005b61
comiss xmm1, dword [0x180065a28]
jbe 0x180005b61
mov dword [rcx], 0x3e19999a
jmp 0x180005b61
cmp rcx, 0x400000
jbe 0x180005b61
cmp rax, rdi
jae 0x180005b61
mov dword [rcx], 0xbdcccccd
cmp byte [0x180089787], bl
je 0x180005bce
mov rax, qword [0x180089860]
lea rcx, [rax + 0x4d8]
cmp rcx, 0x400000
jbe 0x180005bce
add rax, 0x4e0
cmp rax, rdi
jae 0x180005bce
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xb4]
cmp r8, 0x400000
jbe 0x180005bb0
lea rax, [rcx + 0xb8]
cmp rax, rdi
jae 0x180005bb0
mov dword [r8], ebx
lea rcx, [rdx + 0xb8]
cmp rcx, 0x400000
jbe 0x180005bce
lea rax, [rdx + 0xbc]
cmp rax, rdi
jae 0x180005bce
mov dword [rcx], ebx
cmp byte [0x180089789], bl
je 0x180005c5a
lea rcx, str.GameAssembly.dll
call fcn.1800014d0
add rax, 0x31bf628
cmp rax, 0x400000
jbe 0x180005c5a
lea rcx, str.GameAssembly.dll
call fcn.1800014d0
add rax, 0x31bf630
cmp rax, rdi
jae 0x180005c5a
lea rcx, str.GameAssembly.dll
call fcn.1800014d0
mov rdx, qword [rax + 0x31bf628]
mov rcx, rdx
lea r8, [rdx + 0x2c]
cmp r8, 0x400000
jbe 0x180005c3e
lea rax, [rdx + 0x30]
cmp rax, rdi
jae 0x180005c3e
mov dword [r8], 0x3f800000
lea rdx, [rcx + 0x20]
cmp rdx, 0x400000
jbe 0x180005c5a
lea rax, [rcx + 0x24]
cmp rax, rdi
jae 0x180005c5a
mov dword [rdx], 0x3f800000
cmp byte [0x180089783], bl
je 0x180005d35
mov rax, qword [0x180089ca0]
test rax, rax
jne 0x180005caa
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180001590
mov rcx, rax
lea rdx, [0x18005eb20]
call fcn.180001420
mov qword [0x180089ca0], rax
mov ecx, 0x20
call rax
test ax, ax
je 0x180005d35
mov rax, qword [0x180089860]
lea rcx, [rax + 0x4d8]
cmp rcx, 0x400000
jbe 0x180005d35
add rax, 0x4e0
cmp rax, rdi
jae 0x180005d35
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xb8]
cmp r8, 0x400000
jbe 0x180005d05
lea rax, [rcx + 0xc4]
cmp rax, rdi
jae 0x180005d05
mov dword [r8], ebx
mov qword [r8 + 4], 0x49742400
lea rcx, [rdx + 0xb4]
cmp rcx, 0x400000
jbe 0x180005d35
lea rax, [rdx + 0xc0]
cmp rax, rdi
jae 0x180005d35
mov dword [rcx], 0x4b18967f
mov dword [rcx + 4], 0x4b18967f
mov dword [rcx + 8], 0x4b18967f
cmp byte [0x180089786], bl
je 0x180005d65
mov rax, qword [0x180089860]
lea rcx, [rax + 0x704]
cmp rcx, 0x400000
jbe 0x180005d65
add rax, 0x708
cmp rax, rdi
jae 0x180005d65
mov dword [rcx], 0x3f800000
cmp byte [0x180089785], bl
je 0x180005da6
mov rax, qword [0x180089860]
lea rcx, [rax + 0x638]
add rax, 0x63c
cmp rcx, 0x400000
jbe 0x180005da6
cmp rax, rdi
jae 0x180005d93
mov ebx, dword [rcx]
jmp 0x180005da1
cmp rcx, 0x400000
jbe 0x180005da6
cmp rax, rdi
jae 0x180005da6
or ebx, 4
mov dword [rcx], ebx
cmp byte [0x180089795], 0
je 0x180005e0f
mov rax, qword [0x180089860]
lea rcx, [rax + 0x4c0]
cmp rcx, 0x400000
jbe 0x180005e0f
add rax, 0x4c8
cmp rax, rdi
jae 0x180005e0f
mov rax, qword [rcx]
lea rcx, [rax + 0x498]
cmp rcx, 0x400000
jbe 0x180005e0f
add rax, 0x4a0
cmp rax, rdi
jae 0x180005e0f
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180005e0f
add rax, 0x20
cmp rax, rdi
jae 0x180005e0f
mov qword [rcx], 1
cmp byte [0x180089782], 0
je 0x180005e35
mov ecx, dword [0x1800897a0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180005e35
mov rcx, qword [0x180089860]
call fcn.180001f10
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret