Function at 0x180014490
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 [0x180149010]
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, [0x18014fde0]
mov qword [rbp - 0x79], r13
mov qword [0x18014fde0], rsi
mov word [0x18014fde8], si
mov qword [0x18014fdf0], rsi
mov dword [0x18014fdf8], 0x398
lea rdx, [0x18014fe00]
mov qword [rsp + 0x28], rdx
mov qword [0x18014fe38], rsi
mov rcx, qword [r8 + 0x38]
test rcx, rcx
je 0x180014530
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x18002004a.0]
mov qword [0x18014fe38], rax
lea rdx, [0x18014fe40]
mov qword [rsp + 0x28], rdx
mov qword [0x18014fe78], rsi
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x18001457b
mov rax, qword [rcx]
mov r8, qword [rax]
lea r9, [0x18011a638]
cmp rax, r9
jne 0x18001489d
mov qword [0x18014fe40], r9
mov rax, qword [rcx + 8]
mov qword [0x18014fe48], rax
mov qword [0x18014fe78], rdx
mov ecx, dword [0x18014d69c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1801502c8], ecx
jle 0x1800145cb
lea rcx, [0x1801502c8]
call fcn.1800370f8
cmp dword [0x1801502c8], 0xffffffff
jne 0x1800145cb
mov eax, dword [0x18014fdf8]
mov dword [0x1801502c4], eax
lea rcx, [0x1801502c8]
call fcn.180037098
mov eax, dword [0x1801502c4]
mov dword [rsp + 0x28], eax
mov r12d, 1
test eax, eax
je 0x180014672
mov ecx, eax
call fcn.1800373ec
mov rdi, rax
mov qword [rbp - 0x69], rax
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.180012860
movzx ebx, si
mov r11d, dword [rsp + 0x28]
mov r9, rsi
test r11, r11
je 0x180014663
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 0x180014630
inc r9
cmp r9, r11
jb 0x180014620
test rdi, rdi
je 0x180014674
mov rcx, rdi
call fcn.1800373dc
jmp 0x180014674
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 0x180014680
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x18011d160]
movdqu xmmword [rbp - 0x29], xmm1
mov byte [rbp - 0x39], dl
lea rax, [rbp + 0x1c]
cmp r9, rax
je 0x1800146de
lea r8, [rbp + 0x1c]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x39]
call fcn.180002d80
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 [0x18011d160]
movdqu xmmword [rbp - 0x49], xmm1
mov byte [rbp - 0x59], 0
mov r8d, 0x13
lea rdx, str.RXInputCurrentState
lea rcx, [rbp - 0x59]
call fcn.180002d80
nop
mov rcx, qword [rbp - 0x49]
mov rdx, qword [rbp - 0x41]
cmp rcx, rdx
jae 0x18001474d
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 0x18001475f
mov r9b, 0x5f
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp - 0x59]
call fcn.18000f7d0
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 [0x18011d160]
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, [0x18014fe80]
call fcn.1800154b0
nop
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x1800147e8
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800147e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800148ae
call fcn.180036d38
movdqa xmm0, xmmword [0x18011d160]
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 0x180014840
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001483b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180014897
call fcn.180036d38
movdqa xmm0, xmmword [0x18011d160]
movdqu xmmword [rbp - 0x29], xmm0
mov byte [rbp - 0x39], 0
lea rcx, [0x18014fea0]
mov qword [rbp - 0x69], rcx
mov edx, 0x102
call fcn.18003aa34
nop
mov dword [0x18014fef0], esi
mov rax, r13
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.180036800
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.18007310c
nop
mov rax, r8
call qword [case.0x18002004a.0]
mov rdx, rax
jmp 0x180014574
call fcn.18007310c
int3