Function at 0x180080ec0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0xd0
mov rax, qword [0x1802953c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
movsxd rbx, ecx
mov ecx, ebx
call qword [0x180334bf8]
test rax, rax
je 0x180080ef7
movzx eax, byte [rax + 0x189]
jmp 0x18008136c
mov qword [rsp + 0xe8], rbp
movabs rax, 0x50fac3a3e030a6e1
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rdi
mov edi, 3
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], r15
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov qword [0x18033d960], rax
mov dword [rsp + 0x20], ebx
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
movaps xmmword [rsp + 0xa0], xmm6
mov dword [0x1802bec68], r15d
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x20], r15
mov ebp, dword [rax]
movabs rax, 0xb721981b2b939e07
mov qword [0x18033d960], rax
mov dword [rsp + 0x20], ebp
mov rax, qword [rsp + 0x20]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], r15d
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
lea r9d, [rdi + 7]
xor edx, edx
lea r8, [rsp + 0x40]
lea ecx, [rdi - 2]
mov r14d, dword [rax]
call qword [0x180334c18]
test eax, eax
je 0x180081021
cmp qword [rsp + 0x48], rbx
jne 0x180081021
mov rax, qword [rsp + 0x40]
movabs rcx, 0x36a81ca64c63439
cmp rax, rcx
je 0x18008101c
movabs rcx, 0x36a81ca64c63420
cmp rax, rcx
je 0x18008101c
movabs rcx, 0x36a81ca64c63357
cmp rax, rcx
je 0x18008101c
movabs rcx, 0x36a81ca64c633ca
cmp rax, rcx
jne 0x180081021
mov sil, 1
jmp 0x180081024
xor sil, sil
mov edx, dword [rsp + 0x20]
mov ecx, ebx
call fcn.180081390
mov qword [rsp + 0x20], r15
movzx r13d, al
movabs rax, 0x5a47b3b5e63e94c6
mov dword [rsp + 0x20], ebp
mov rcx, qword [rsp + 0x20]
mov qword [0x1802bed30], rcx
mov dword [0x1802bec68], r15d
mov qword [0x18033d960], rax
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
imul ecx, ebx, 0x35e
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x28], ebp
mov eax, dword [rax]
mov dword [rsp + 0x30], eax
movsxd rdx, ecx
mov rcx, qword [0x18033d8c8]
mov rax, qword [rcx + 0x38]
mov ecx, dword [rax + rdx*8 + 0x25550]
mov r15d, dword [rax + rdx*8 + 0x25600]
mov r12d, dword [rax + rdx*8 + 0x25608]
movss xmm6, dword [rax + rdx*8 + 0x255f0]
mov dword [rsp + 0x34], ecx
mov ecx, dword [rax + rdx*8 + 0x25538]
mov eax, dword [rax + rdx*8 + 0x256e0]
sub eax, ecx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x20], eax
movabs rax, 0x9f47b058362c84b5
mov qword [0x18033d960], rax
mov rax, qword [rsp + 0x28]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov ebp, dword [rax]
movabs rax, 0xd24d37cc275948cc
mov qword [0x18033d960], rax
lea rax, str.mp_m_freemode_01
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov ebx, dword [rax]
movabs rax, 0xd24d37cc275948cc
mov qword [0x18033d960], rax
lea rax, str.mp_f_freemode_01
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], 0
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
cmp ebp, ebx
je 0x180081180
cmp ebp, dword [rax]
mov ecx, 0xd
cmovne edi, ecx
mov rbp, qword [rsp + 0xe8]
lea eax, [rdi + 1]
test r14d, r14d
mov r14, qword [rsp + 0xb8]
cmove eax, edi
test sil, sil
lea ecx, [rax + 5]
cmove ecx, eax
test r13b, r13b
mov r13, qword [rsp + 0xc0]
je 0x1800811b2
add ecx, 5
cmp dword [rsp + 0x30], 0x19
lea eax, [rcx + 1]
cmovge eax, ecx
cmp dword [rsp + 0x34], 0x378
lea ecx, [rax + 3]
cmovle ecx, eax
cmp dword [rsp + 0x38], 0x4c4b400
lea eax, [rcx + 2]
cmovle eax, ecx
cmp dword [rsp + 0x20], 0x4c4b400
lea ecx, [rax + 3]
cmovle ecx, eax
comiss xmm6, dword [0x18026c760]
movaps xmm6, xmmword [rsp + 0xa0]
jbe 0x18008121b
xor edi, edi
cmp r15d, 0x2710
mov eax, edi
setg al
lea edx, [rax + 1]
add edx, ecx
mov ecx, edx
cmp r12d, 0x2710
jle 0x18008121d
lea ecx, [rdx + 1]
jmp 0x18008121d
xor edi, edi
mov r15, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xc8]
cmp ecx, 3
jbe 0x18008135a
cmp byte [0x18031d35b], 0
je 0x180081254
cmp byte [0x1802b02a3], 0
je 0x180081254
lea rcx, str.RModder_in_your_Lobby__You_want_change_the_session__Press_bY_yyes_Ror_bN_yno
call fcn.1800b3a70
cmp byte [0x1802b02f0], 0
je 0x18008132a
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18008132a
mov rcx, qword [0x18033d8c8]
movabs rbx, 0x933d6a9eec1bacd0
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x28], 1
mov qword [0x18033d960], rbx
mov rax, qword [rcx + 0x30]
mov dword [rax + 0x35f8], edi
mov rax, qword [rcx + 0x30]
mov dword [rax + 0x4348], edi
mov rax, qword [rcx + 0x30]
add rax, 0x35e8
mov dword [0x1802bec68], edi
mov qword [0x1802bed30], rax
mov rax, qword [rsp + 0x28]
mov qword [0x1802bed38], rax
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
mov rax, qword [0x18033d8c8]
mov qword [0x18033d960], rbx
mov rcx, qword [rax + 0x30]
add rcx, 0x35e8
mov dword [0x1802bec68], edi
mov qword [0x1802bed30], rcx
mov qword [0x1802bed38], rdi
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
lea rcx, str.gYour_session_will_be_switched
call fcn.1800b3a70
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x180081356
lea rcx, str.gYou_stay_in_the_session
mov byte [0x1802b02a3], 0
mov byte [0x1802b02f0], 0
call fcn.1800b3a70
mov al, 1
jmp 0x18008135c
xor al, al
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1801e6af0
add rsp, 0xd0
pop rbx
ret