Function at 0x18000e850
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp - 0x51], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180145010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, r9
mov rax, qword [rbp - 0x69]
mov qword [rbp - 0x69], rax
xor esi, esi
mov dword [rbp - 0x79], esi
lea r13, [0x18014bd30]
mov qword [rbp - 0x69], r13
mov qword [0x18014bd30], rsi
mov word [0x18014bd38], si
mov qword [0x18014bd40], rsi
mov dword [0x18014bd48], 0x398
lea rdx, [0x18014bd50]
mov qword [rbp - 0x71], rdx
mov qword [0x18014bd88], rsi
mov rcx, qword [r8 + 0x38]
test rcx, rcx
je 0x18000e8f1
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x18001f0fa.0]
mov qword [0x18014bd88], rax
lea rdx, [0x18014bd90]
mov qword [rbp - 0x71], rdx
mov qword [0x18014bdc8], rsi
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x18000e92c
lea rcx, [0x180117c30]
mov qword [0x18014bd90], rcx
mov rax, qword [rax + 8]
mov qword [0x18014bd98], rax
mov qword [0x18014bdc8], rdx
mov ecx, dword [0x18014953c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18014c254], ecx
jle 0x18000e97c
lea rcx, [0x18014c254]
call fcn.1800353b8
cmp dword [0x18014c254], 0xffffffff
jne 0x18000e97c
mov eax, dword [0x18014bd48]
mov dword [0x18014c250], eax
lea rcx, [0x18014c254]
call fcn.180035358
mov eax, dword [0x18014c250]
mov dword [rbp - 0x71], eax
mov r12d, 1
test eax, eax
je 0x18000ea22
mov ecx, eax
call fcn.180035510
mov rdi, rax
mov qword [rbp - 0x59], rax
mov rdx, rax
lea rcx, [rbp - 0x71]
call fcn.18000efd0
movzx ebx, si
mov r11d, dword [rbp - 0x71]
mov r9, rsi
test r11, r11
je 0x18000ea13
mov r14d, 0x8005
mov r15d, 0x100
nop dword [rax + rax]
movzx r8d, r12w
movzx r10d, byte [r9 + rdi]
nop dword [rax]
movzx edx, bx
add dx, dx
test r8w, r10w
setne cl
movzx eax, bx
shr ax, 0xf
movzx ebx, dx
xor bx, r14w
cmp al, cl
cmove bx, dx
add r8w, r8w
cmp r8w, r15w
jb 0x18000e9e0
inc r9
cmp r9, r11
jb 0x18000e9d0
test rdi, rdi
je 0x18000ea24
mov rcx, rdi
call fcn.180034ff0
jmp 0x18000ea24
mov ebx, esi
movzx r8d, bx
lea r9, [rbp + 0x2c]
nop dword [rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18000ea30
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x19], xmm0
movdqa xmm1, xmmword [0x18011b850]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], dl
lea rax, [rbp + 0x2c]
cmp r9, rax
je 0x18000ea8e
lea r8, [rbp + 0x2c]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x29]
call fcn.180002820
mov eax, 2
mov dword [rbp - 0x79], eax
and eax, 0xfffffffd
mov dword [rbp - 0x79], eax
mov dword [rbp - 0x79], r12d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x39], xmm0
movdqa xmm1, xmmword [0x18011b850]
movdqu xmmword [rbp - 0x39], xmm1
mov byte [rbp - 0x49], 0
mov r8d, 0x13
lea rdx, str.RXInputCurrentState
lea rcx, [rbp - 0x49]
call fcn.180002820
nop
mov rcx, qword [rbp - 0x39]
mov rdx, qword [rbp - 0x31]
cmp rcx, rdx
jae 0x18000eafa
lea rax, [rcx + 1]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x49]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x49]
mov word [rax + rcx], 0x5f
jmp 0x18000eb0c
mov r9b, 0x5f
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.18000f8b0
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rbp - 0x39]
movups xmmword [rbp + 7], xmm1
movdqa xmm0, xmmword [0x18011b850]
movdqu xmmword [rbp - 0x39], xmm0
mov byte [rbp - 0x49], 0
mov ebx, 5
mov dword [rbp - 0x79], ebx
lea r8, [rbp - 0x29]
lea rdx, [rbp - 9]
lea rcx, [0x18014bdd0]
call fcn.18000f380
nop
and ebx, 0xfffffffb
mov dword [rbp - 0x79], ebx
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x18000eb93
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000eb8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000ec4d
call fcn.180034fe8
movdqa xmm0, xmmword [0x18011b850]
movdqu xmmword [rbp + 7], xmm0
mov byte [rbp - 9], 0
movdqu xmmword [rbp - 0x39], xmm0
mov byte [rbp - 0x49], 0
and ebx, 0xfffffffe
mov dword [rbp - 0x79], ebx
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x18000ebea
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ebe5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000ec47
call fcn.180034fe8
movdqa xmm0, xmmword [0x18011b850]
movdqu xmmword [rbp - 0x19], xmm0
mov byte [rbp - 0x29], 0
lea rcx, [0x18014bdf0]
mov qword [rbp - 0x59], rcx
mov edx, 0x102
call fcn.1800374b4
nop
mov dword [0x18014be40], esi
mov rax, r13
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180034ab0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18007013c
nop
call fcn.18007013c
int3