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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov r15, r8
mov r14, rdx
xor r12d, r12d
mov ecx, dword [0x18028ab2c]
mov rax, qword gs:[0x58]
mov edi, 4
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + rdi]
cmp dword [0x1802a1ecc], eax
jle 0x180158eea
lea rcx, [0x1802a1ecc]
call fcn.1801d1cb0
cmp dword [0x1802a1ecc], 0xffffffff
jne 0x180158eea
mov qword [0x1802a3400], r12
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rdx, qword [rax]
mov qword [0x1802a3400], rdx
lea rcx, [0x1802a1ecc]
call fcn.1801d1c44
mov eax, dword [rbx + rdi]
cmp dword [0x1802a32b8], eax
jle 0x180158f30
lea rcx, [0x1802a32b8]
call fcn.1801d1cb0
cmp dword [0x1802a32b8], 0xffffffff
jne 0x180158f30
mov qword [0x1802a1ef0], r12
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rdx, qword [rax]
mov qword [0x1802a1ef0], rdx
lea rcx, [0x1802a32b8]
call fcn.1801d1c44
mov eax, dword [rbx + rdi]
cmp dword [0x1802a1ec8], eax
jle 0x180158f6a
lea rcx, [0x1802a1ec8]
call fcn.1801d1cb0
cmp dword [0x1802a1ec8], 0xffffffff
jne 0x180158f6a
mov qword [0x1802a1efc], r12
mov dword [0x1802a1ef8], r12d
lea rcx, [0x1802a1ec8]
call fcn.1801d1c44
test byte [0x18029d194], 0x10
je 0x1801594f8
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rax, qword [rbp + 0x67]
sub rax, qword [0x1802a3400]
cmp rax, 0x77359400
jl 0x1801594f8
mov rcx, qword [0x180284eb0]
movsxd rax, dword [rcx + 3]
mov rsi, qword [rax + rcx + 7]
test rsi, rsi
je 0x18015924b
mov rcx, rsi
call fcn.180154210
cmp dword [rax], 4
je 0x180158fce
mov rcx, rsi
call fcn.180154210
cmp dword [rax], 7
jne 0x1801590b3
mov rcx, rsi
call fcn.180154310
cmp byte [rax], r12b
jne 0x1801590b3
mov rcx, rsi
call fcn.180154210
cmp dword [rax], 5
je 0x1801590b3
mov eax, dword [rbx + rdi]
cmp dword [0x18028cb88], eax
jle 0x1801590a2
lea rcx, [0x18028cb88]
call fcn.1801d1cb0
cmp dword [0x18028cb88], 0xffffffff
jne 0x1801590a2
mov rcx, qword [0x18028c720]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x18015908d
nop dword [rax]
mov r9, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rcx
cmp byte [r9 + rcx], 0
jne 0x180159041
mov rdx, r12
test rcx, rcx
je 0x180159084
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r9 + rdx]
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180159060
cmp r8d, 0xf1c5030f
je 0x18015919b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180159030
mov eax, r12d
mov dword [0x18028cbac], eax
lea rcx, [0x18028cb88]
call fcn.1801d1c44
movsxd rax, dword [0x18028cbac]
cmp byte [rax + rsi], 0
je 0x18015932e
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rax, qword [rbp + 0x67]
sub rax, qword [0x1802a1ef0]
cmp rax, 0x3b9aca00
jl 0x1801594f8
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rcx, qword [rax]
mov qword [0x1802a1ef0], rcx
movzx ebx, byte [0x180297121]
mov qword [rbp - 0x69], r12
mov qword [rbp - 0x61], r12
lea rax, str.Cannot_capture_objective_yet
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], 0x1c
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x69], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movdqa xmmword [rbp - 0x59], xmm1
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.1800bd840
nop
lea rdi, [rbp - 0x49]
cmp qword [rbp - 0x31], 0xf
cmova rdi, qword [rbp - 0x49]
mov dword [rbp + 0x7f], 0xff8383ff
test bl, bl
je 0x18015918d
mov rcx, qword [0x18028c728]
mov rax, qword [rcx]
lea r9, str.CNavBot
lea r8, str.__s_
lea rdx, [rbp + 0x7f]
call qword [rax + 0xb8]
mov rcx, qword [0x18028c728]
mov rax, qword [rcx]
mov dword [rbp + 0x67], 0xffffffff
mov r9, rdi
lea r8, [0x18025dc84]
lea rdx, [rbp + 0x67]
call qword [rax + 0xb8]
nop
lea rcx, [rbp - 0x49]
call fcn.1800a3670
jmp 0x1801594f8
mov r11, qword [r10 + 0x18]
mov ebx, r12d
mov edi, dword [r11 + 8]
test edi, edi
jle 0x18015908d
mov r11, qword [r11]
movups xmm3, xmmword [r11 + 0x40]
mov r9d, 0x811c9dc5
mov r8, qword [r11]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1801591c6
mov rcx, r12
test rdx, rdx
je 0x180159200
nop dword [rax + rax]
movsx eax, byte [rcx + r8]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rcx
cmp rcx, rdx
jb 0x1801591e0
cmp r9d, 0x90f2bfbb
je 0x18015922c
movq rdx, xmm3
test rdx, rdx
je 0x18015921d
lea r8, str.m_bPlayingSpecialDeliveryMode
call fcn.1801d1920
mov r10d, eax
test eax, eax
jne 0x18015923a
inc ebx
add r11, 0x60
cmp ebx, edi
jl 0x1801591b1
jmp 0x18015908d
psrldq xmm3, 8
movd eax, xmm3
jmp 0x180159090
psrldq xmm3, 8
movd eax, xmm3
add eax, r10d
jmp 0x180159090
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rax, qword [rbp + 0x67]
sub rax, qword [0x1802a1ef0]
cmp rax, 0x3b9aca00
jl 0x18015932e
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rcx, qword [rax]
mov qword [0x1802a1ef0], rcx
movzx ebx, byte [0x180297121]
mov qword [rbp - 0x69], r12
mov qword [rbp - 0x61], r12
lea rax, str.No_g_pGameRules
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], 0xf
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x69], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movdqa xmmword [rbp - 0x59], xmm1
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.1800bd840
nop
lea rdi, [rbp - 0x49]
cmp qword [rbp - 0x31], 0xf
cmova rdi, qword [rbp - 0x49]
mov dword [rbp + 0x7f], 0xff8383ff
test bl, bl
je 0x180159325
mov rcx, qword [0x18028c728]
mov rax, qword [rcx]
lea r9, str.CNavBot
lea r8, str.__s_
lea rdx, [rbp + 0x7f]
call qword [rax + 0xb8]
mov rcx, qword [0x18028c728]
mov rax, qword [rcx]
mov dword [rbp + 0x67], 0xffffffff
mov r9, rdi
lea r8, [0x18025dc84]
lea rdx, [rbp + 0x67]
call qword [rax + 0xb8]
nop
lea rcx, [rbp - 0x49]
call fcn.1800a3670
cmp dword [0x180287728], 1
jg 0x1801594f8
mov byte [rbp - 0x5d], 0
mov rcx, r14
call fcn.1800ca2d0
mov ebx, dword [rax]
mov edi, r12d
cmp ebx, 3
setne dil
add edi, 2
mov byte [0x1802876e4], 0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x48]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
xor dl, dl
mov eax, dword [0x18028cc00]
sub eax, 1
je 0x1801593d1
sub eax, 1
je 0x1801593b0
cmp eax, 1
jne 0x180159415
movss dword [rbp - 0x59], xmm0
movss dword [rbp - 0x55], xmm1
movss dword [rbp - 0x51], xmm2
mov r9d, ebx
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x49]
call fcn.1801588b0
jmp 0x1801593e8
movss dword [rbp - 0x59], xmm0
movss dword [rbp - 0x55], xmm1
movss dword [rbp - 0x51], xmm2
mov r9d, ebx
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x49]
call fcn.180158af0
jmp 0x1801593e8
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
mov r9, r15
mov r8, r14
lea rdx, [rbp - 0x49]
call fcn.180158520
cmp byte [rax + 0xc], 0
je 0x180159413
movss xmm0, dword [rax]
movss dword [rbp - 0x69], xmm0
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax + 8]
movss dword [rbp - 0x65], xmm1
movss dword [rbp - 0x61], xmm0
mov byte [rbp - 0x5d], 1
mov dl, 1
jmp 0x180159415
xor dl, dl
cmp byte [0x1802876e4], 0
je 0x180159451
mov rax, qword [0x180287710]
cmp rax, qword [0x180287718]
je 0x180159435
mov qword [0x180287718], rax
mov qword [0x1802876f8], r12
mov dword [0x180287728], r12d
mov byte [0x18028773d], 0
mov al, 1
jmp 0x1801594fa
test dl, dl
je 0x1801594e5
cmp dword [0x180287728], 1
jne 0x180159492
movss xmm0, dword [rbp - 0x69]
ucomiss xmm0, dword [0x1802a1ef8]
jp 0x180159492
jne 0x180159492
movss xmm0, dword [rbp - 0x65]
ucomiss xmm0, dword [0x1802a1efc]
jp 0x180159492
jne 0x180159492
movss xmm0, dword [rbp - 0x61]
ucomiss xmm0, dword [0x1802a1f00]
jp 0x180159492
je 0x1801594f8
cmp byte [0x18028773d], 0
sete al
mov byte [rsp + 0x20], al
mov r8d, 1
lea rdx, [rbp - 0x69]
lea rcx, [0x1802876f0]
call fcn.180167a70
test al, al
je 0x1801594e5
movss xmm0, dword [rbp - 0x69]
movss dword [0x1802a1ef8], xmm0
movss xmm1, dword [rbp - 0x65]
movss dword [0x1802a1efc], xmm1
movss xmm0, dword [rbp - 0x61]
movss dword [0x1802a1f00], xmm0
mov al, 1
jmp 0x1801594fa
lea rcx, [rbp + 0x67]
call fcn.1800b6ac0
mov rcx, qword [rax]
mov qword [0x1802a3400], rcx
xor al, al
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret