Function at 0x18001c290
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movaps xmmword [rsp + 0x20], xmm6
mov r13, rcx
movaps xmm6, xmm1
call fcn.180006af0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
cmp rbx, rdi
je 0x18001c459
lea rsi, str.BardRStasis
lea rbp, str.zhonyasringshield
lea r14, str.Meditate
mov rcx, qword [rbx]
call fcn.1800059f0
test al, al
je 0x18001c545
mov rdx, qword [0x180064730]
xor r8d, r8d
mov rcx, qword [rbx]
call fcn.180006000
comiss xmm0, xmm6
ja 0x18001c545
mov rcx, qword [rbx]
mov dl, 0x12
call fcn.180005e70
mov rcx, qword [rbx]
test al, al
jne 0x18001c585
xor eax, eax
mov r11d, 0x811c9dc5
nop dword [rax]
inc eax
mov r9d, eax
cmp byte [rax + rsi], 0
jne 0x18001c330
test eax, eax
je 0x18001c379
mov r10, rsi
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r10]
lea r10, [r10 + 1]
lea r8d, [rdx - 0x41]
cmp r8b, 0x19
lea eax, [rdx + 0x20]
cmovbe edx, eax
movsx eax, dl
xor eax, r11d
imul r11d, eax, 0x1000193
sub r9, 1
jne 0x18001c350
mov edx, r11d
call fcn.180005e00
test al, al
jne 0x18001c582
xor eax, eax
mov r11d, 0x811c9dc5
inc eax
mov r9d, eax
cmp byte [rax + rbp], 0
jne 0x18001c391
test eax, eax
je 0x18001c3d9
mov r10, rbp
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r10]
lea r10, [r10 + 1]
lea r8d, [rdx - 0x41]
cmp r8b, 0x19
lea eax, [rdx + 0x20]
cmovbe edx, eax
movsx eax, dl
xor eax, r11d
imul r11d, eax, 0x1000193
sub r9, 1
jne 0x18001c3b0
mov rcx, qword [rbx]
mov edx, r11d
call fcn.180005e00
test al, al
jne 0x18001c582
xor eax, eax
mov r11d, 0x811c9dc5
inc eax
mov r9d, eax
cmp byte [rax + r14], 0
jne 0x18001c3f4
test eax, eax
je 0x18001c439
mov r10, r14
nop word [rax + rax]
movzx edx, byte [r10]
lea r10, [r10 + 1]
lea r8d, [rdx - 0x41]
cmp r8b, 0x19
lea eax, [rdx + 0x20]
cmovbe edx, eax
movsx eax, dl
xor eax, r11d
imul r11d, eax, 0x1000193
sub r9, 1
jne 0x18001c410
mov rcx, qword [rbx]
mov edx, r11d
call fcn.180005e00
test al, al
jne 0x18001c582
add rbx, 8
cmp rbx, rdi
jne 0x18001c2e1
call fcn.180006b60
mov r14, qword [rax]
mov r15, qword [rax + 8]
cmp r14, r15
je 0x18001c545
movss xmm6, dword [0x18005cf78]
lea rsi, str.GateMarker_red.troy
lea r12, str.global_ss_teleport_target_red.troy
lea rbx, str.R_indicator_red.troy
lea rdi, str.3026_Buff_Revive
mov rbp, qword [r14]
mov rcx, rbp
call fcn.1800059f0
test al, al
je 0x18001c4b3
mov rdx, qword [0x180064730]
xor r8d, r8d
mov rcx, rbp
call fcn.180006000
mov rcx, rbp
call fcn.180005a50
cmp rax, rsi
je 0x18001c593
cmp rax, r12
je 0x18001c593
cmp rax, rbx
je 0x18001c593
cmp rax, rdi
jne 0x18001c538
call fcn.180006af0
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
cmp rdi, rsi
je 0x18001c52a
nop dword [rax]
mov rcx, qword [rdi]
call fcn.1800059f0
test al, al
je 0x18001c51a
mov rbx, qword [rdi]
mov rcx, rbp
call fcn.180005a60
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.180006040
comiss xmm6, xmm0
ja 0x18001c593
add rdi, 8
cmp rdi, rsi
jne 0x18001c4f0
lea rbx, str.R_indicator_red.troy
lea rsi, str.GateMarker_red.troy
lea rdi, str.3026_Buff_Revive
add r14, 8
cmp r14, r15
jne 0x18001c492
movsd xmm0, qword [0x18006a4e8]
mov eax, dword [0x18006a4f0]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x20]
movsd qword [r13], xmm0
mov dword [r13 + 8], eax
mov rax, r13
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rcx, qword [rbx]
call fcn.180005a60
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
jmp 0x18001c553
mov rcx, rbp
call fcn.180005a60
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
jmp 0x18001c553