Function at 0x18001fea0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov qword [rbp - 0x61], 0xfffffffffffffffe
mov qword [rsp + 0x110], rbx
mov rax, qword [0x180154010]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rbx, r9
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x79], rax
xor esi, esi
mov dword [rsp + 0x20], esi
lea r13, [0x18015b2f0]
mov qword [rbp - 0x79], r13
mov qword [0x18015b2f0], rsi
mov word [0x18015b2f8], si
mov qword [0x18015b300], rsi
mov dword [0x18015b308], 0x398
lea rdx, [0x18015b310]
mov qword [rsp + 0x28], rdx
mov qword [0x18015b348], rsi
mov rcx, qword [r8 + 0x38]
test rcx, rcx
je 0x18001ff40
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x18002b58a.0]
mov qword [0x18015b348], rax
lea rdx, [0x18015b350]
mov qword [rsp + 0x28], rdx
mov qword [0x18015b388], rsi
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x18001ff8b
mov rax, qword [rcx]
mov r8, qword [rax]
lea r9, [0x1801225f0]
cmp rax, r9
jne 0x1800202ad
mov qword [0x18015b350], r9
mov rax, qword [rcx + 8]
mov qword [0x18015b358], rax
mov qword [0x18015b388], rdx
mov ecx, dword [0x18015872c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18015b864], ecx
jle 0x18001ffdb
lea rcx, [0x18015b864]
call fcn.180040238
cmp dword [0x18015b864], 0xffffffff
jne 0x18001ffdb
mov eax, dword [0x18015b308]
mov dword [0x18015b860], eax
lea rcx, [0x18015b864]
call fcn.1800401d8
mov eax, dword [0x18015b860]
mov dword [rsp + 0x28], eax
mov r12d, 1
test eax, eax
je 0x180020082
mov ecx, eax
call fcn.1800404a4
mov rdi, rax
mov qword [rbp - 0x69], rax
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.18001e220
movzx ebx, si
mov r11d, dword [rsp + 0x28]
mov r9, rsi
test r11, r11
je 0x180020073
mov r14d, 0x8005
mov r15d, 0x100
nop word [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 0x180020040
inc r9
cmp r9, r11
jb 0x180020030
test rdi, rdi
je 0x180020084
mov rcx, rdi
call fcn.18003fe70
jmp 0x180020084
mov ebx, esi
movzx r8d, bx
lea r9, [rbp + 0x1c]
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 0x180020090
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x180125d80]
movdqu xmmword [rbp - 0x29], xmm1
mov byte [rbp - 0x39], dl
lea rax, [rbp + 0x1c]
cmp r9, rax
je 0x1800200ee
lea r8, [rbp + 0x1c]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x39]
call fcn.180002d60
mov eax, 2
mov dword [rsp + 0x20], eax
and eax, 0xfffffffd
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x20], r12d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x180125d80]
movdqu xmmword [rbp - 0x49], xmm1
mov byte [rbp - 0x59], 0
mov r8d, 0x13
lea rdx, str.RXInputCurrentState
lea rcx, [rbp - 0x59]
call fcn.180002d60
nop
mov rcx, qword [rbp - 0x49]
mov rdx, qword [rbp - 0x41]
cmp rcx, rdx
jae 0x18002015d
lea rax, [rcx + 1]
mov qword [rbp - 0x49], rax
lea rax, [rbp - 0x59]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x59]
mov word [rax + rcx], 0x5f
jmp 0x18002016f
mov r9b, 0x5f
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp - 0x59]
call fcn.180021450
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbp - 0x19], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rbp - 9], xmm1
movdqa xmm0, xmmword [0x180125d80]
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x59], 0
mov ebx, 5
mov dword [rsp + 0x20], ebx
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x19]
lea rcx, [0x18015b390]
call fcn.180021040
nop
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x1800201f8
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800201f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800202be
call fcn.18003fe68
movdqa xmm0, xmmword [0x180125d80]
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], 0
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x59], 0
and ebx, 0xfffffffe
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x180020250
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002024b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800202a7
call fcn.18003fe68
movdqa xmm0, xmmword [0x180125d80]
movdqu xmmword [rbp - 0x29], xmm0
mov byte [rbp - 0x39], 0
lea rcx, [0x18015b3b0]
mov qword [rbp - 0x69], rcx
mov edx, 0x102
call fcn.180043484
nop
mov dword [0x18015b400], esi
mov rax, r13
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.18003f930
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180090e5c
nop
mov rax, r8
call qword [case.0x18002b58a.0]
mov rdx, rax
jmp 0x18001ff84
call fcn.180090e5c
int3