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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1068]
mov eax, 0x1168
call fcn.1801c89b0
sub rsp, rax
movaps xmmword [rsp + 0x1150], xmm6
movaps xmmword [rsp + 0x1140], xmm7
movaps xmmword [rsp + 0x1130], xmm8
movaps xmmword [rsp + 0x1120], xmm9
movaps xmmword [rsp + 0x1110], xmm10
movaps xmmword [rsp + 0x1100], xmm11
movaps xmmword [rsp + 0x10f0], xmm12
movaps xmmword [rsp + 0x10e0], xmm13
movaps xmmword [rsp + 0x10d0], xmm14
movaps xmmword [rsp + 0x10c0], xmm15
mov r13, r8
mov rsi, rdx
lea r8, [rbp + 0x10c8]
lea rdx, [rbp - 0x60]
lea rcx, [0x18028f650]
call fcn.1800c9360
mov rcx, qword [rax]
mov r12, qword [rcx + 0x18]
mov qword [rbp + 0x10b0], r12
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x40], rax
cmp r12, rax
je 0x1800de2f0
mov ebx, dword [0x18029475c]
mov r14, qword gs:[0x58]
mov r15d, 4
movss xmm14, dword [0x1802631d8]
movss xmm12, dword [0x1802631ac]
xorps xmm10, xmm10
movss xmm13, dword [0x180263200]
movss xmm15, dword [0x1802633d0]
movss xmm11, dword [rbp + 0x10d0]
mov rdi, qword [r12]
mov qword [rbp - 0x68], rdi
mov rcx, rdi
call fcn.1800c3ad0
cmp dword [rax], 2
je 0x1800de2da
mov r14, qword [r14 + rbx*8]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r15
mov eax, dword [r15 + r14]
cmp dword [0x1802973f4], eax
jle 0x1800ddc34
lea rcx, [0x1802973f4]
call fcn.180199ce8
cmp dword [0x1802973f4], 0xffffffff
jne 0x1800ddc34
mov rcx, qword [0x180297128]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x1800ddc1d
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1800ddbd6
xor edx, edx
test rcx, rcx
je 0x1800ddc14
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1800ddbf0
cmp r9d, 0x941d2eb9
je 0x1800ddde3
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800ddbc5
xor eax, eax
add eax, 0xc
mov dword [0x1802973f8], eax
lea rcx, [0x1802973f4]
call fcn.180199c7c
movsxd rax, dword [0x1802973f8]
cmp byte [rax + rdi], 0
je 0x1800de2cb
mov rax, qword [0x18028e610]
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, rsi
lea rdx, str.sticky_arm_time
movaps xmm0, xmm14
call rax
movaps xmm7, xmm0
mov rax, qword [0x1802971a8]
movss xmm6, dword [rax + 0xc]
mov rcx, rdi
call fcn.1800dd950
addss xmm7, dword [rax]
comiss xmm7, xmm6
ja 0x1800de2cb
mov rcx, rdi
call fcn.1800bec50
mov rbx, rax
mov rcx, rdi
call fcn.1800bef50
movss xmm6, dword [rax + 8]
mov rcx, rdi
call fcn.1800bee50
addss xmm6, dword [rax + 8]
mulss xmm6, xmm12
addss xmm6, dword [rbx + 8]
movss xmm1, dword [rbx + 4]
addss xmm1, xmm10
movss xmm0, dword [rbx]
addss xmm0, xmm10
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm6
cmp dword [rbp + 0x10c8], 0xf
jne 0x1800dded9
mov rcx, rdi
call fcn.1800c3ad0
cmp dword [rax], 1
jne 0x1800ddeca
mov rcx, rdi
call fcn.1800c39d0
cmp byte [rax], 0
jne 0x1800ddeca
mov eax, dword [r15 + r14]
cmp dword [0x1802a6e20], eax
jle 0x1800ddd4b
lea rcx, [0x1802a6e20]
call fcn.180199ce8
cmp dword [0x1802a6e20], 0xffffffff
jne 0x1800ddd4b
lea rdx, str.tf_grenadelauncher_livetime
call fcn.1801977e0
mov qword [0x1802a6e10], rax
lea rcx, [0x1802a6e20]
call fcn.180199c7c
mov eax, dword [r15 + r14]
cmp dword [0x1802a6e0c], eax
jle 0x1800ddd8b
lea rcx, [0x1802a6e0c]
call fcn.180199ce8
cmp dword [0x1802a6e0c], 0xffffffff
jne 0x1800ddd8b
lea rdx, str.tf_sticky_radius_ramp_time
call fcn.1801977e0
mov qword [0x1802a6e18], rax
lea rcx, [0x1802a6e0c]
call fcn.180199c7c
mov eax, dword [r15 + r14]
cmp dword [0x1802a6e08], eax
jle 0x1800dddcb
lea rcx, [0x1802a6e08]
call fcn.180199ce8
cmp dword [0x1802a6e08], 0xffffffff
jne 0x1800dddcb
lea rdx, str.tf_sticky_airdet_radius
call fcn.1801977e0
mov qword [0x1802a6e00], rax
lea rcx, [0x1802a6e08]
call fcn.180199c7c
mov rax, qword [0x1802a6e10]
test rax, rax
je 0x1800dddf8
mov rax, qword [rax + 0x38]
movss xmm9, dword [rax + 0x54]
jmp 0x1800dddfc
lea r8, str.m_iType
mov rdx, qword [r10 + 0x18]
call fcn.180199880
jmp 0x1800ddc1f
movaps xmm9, xmm14
mov rax, qword [0x1802a6e18]
test rax, rax
je 0x1800dde13
mov rax, qword [rax + 0x38]
movss xmm6, dword [rax + 0x54]
jmp 0x1800dde1b
movss xmm6, dword [0x180263240]
mov rax, qword [0x1802a6e00]
test rax, rax
je 0x1800dde33
mov rax, qword [rax + 0x38]
movss xmm8, dword [rax + 0x54]
jmp 0x1800dde3c
movss xmm8, dword [0x1802631dc]
addss xmm6, xmm9
mov rax, qword [0x1802971a8]
movss xmm7, dword [rax + 0xc]
mov rcx, rdi
call fcn.1800dd950
subss xmm7, dword [rax]
ucomiss xmm9, xmm6
jp 0x1800dde6c
jne 0x1800dde6c
comiss xmm7, xmm6
jb 0x1800ddec5
movaps xmm8, xmm13
jmp 0x1800ddec5
subss xmm7, xmm9
subss xmm6, xmm9
divss xmm7, xmm6
movss dword [rsp + 0x64], xmm7
mov dword [rsp + 0x68], 0x3f800000
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x60]
lea rax, [rsp + 0x64]
comiss xmm10, xmm7
cmovbe rcx, rax
lea rax, [rsp + 0x68]
comiss xmm7, xmm13
cmovbe rax, rcx
movaps xmm0, xmm13
subss xmm0, xmm8
mulss xmm0, dword [rax]
addss xmm0, xmm8
movaps xmm8, xmm0
mulss xmm11, xmm8
cmp dword [rbp + 0x10c8], 0xf
jne 0x1800dded9
movaps xmm7, xmm15
jmp 0x1800ddee1
movss xmm7, dword [0x1802633b8]
mulss xmm7, xmm11
mov eax, dword [r15 + r14]
cmp dword [0x1802972a4], eax
jle 0x1800ddf21
lea rcx, [0x1802972a4]
call fcn.180199ce8
cmp dword [0x1802972a4], 0xffffffff
jne 0x1800ddf21
mov rax, qword [0x18028f218]
mov qword [0x180297240], rax
lea rcx, [0x1802972a4]
call fcn.180199c7c
mov dword [rsp + 0x20], 0x80
xor r9d, r9d
movaps xmm2, xmm7
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call qword [0x180297240]
mov ecx, dword [rbp - 0x50]
cmp ecx, dword [rbp - 0x4c]
jge 0x1800de2be
movsxd rax, ecx
mov rdi, qword [rbp + rax*8 - 0x48]
test rdi, rdi
je 0x1800de2be
cmp rdi, rsi
je 0x1800de2b4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x418]
test al, al
je 0x1800ddf9e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x410]
test al, al
je 0x1800de2b1
mov rcx, rdi
call fcn.1800be180
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x1800de2b1
mov rcx, rdi
call fcn.1800bed50
mov ebx, dword [rax]
mov rcx, rsi
call fcn.1800bed50
cmp ebx, dword [rax]
je 0x1800de2b1
mov qword [rsp + 0x54], 0
mov dword [rsp + 0x50], 0
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov rbx, rax
mov ecx, dword [r15 + r14]
cmp dword [0x180297288], ecx
jle 0x1800de010
lea rcx, [0x180297288]
call fcn.180199ce8
cmp dword [0x180297288], 0xffffffff
jne 0x1800de010
mov rcx, qword [0x18028ebb0]
mov qword [0x180297248], rcx
lea rcx, [0x180297288]
call fcn.180199c7c
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [0x180297248]
movss xmm1, dword [rsp + 0x30]
subss xmm1, dword [rsp + 0x50]
movss xmm2, dword [rsp + 0x34]
subss xmm2, dword [rsp + 0x54]
movss xmm0, dword [rsp + 0x38]
subss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800de06c
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800de074
movaps xmm0, xmm2
call fcn.1801ce444
comiss xmm0, xmm7
ja 0x1800de2b1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x418]
test al, al
je 0x1800de0b2
test byte [0x1802999d4], 1
je 0x1800de0b2
mov byte [rsp + 0x20], 0
mov r9, r13
mov r8, rsi
mov rdx, rdi
call fcn.1800c0430
test al, al
jne 0x1800de0b2
mov r13b, 1
jmp 0x1800de0b5
xor r13b, r13b
test byte [0x1802999d4], 2
je 0x1800de0d8
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800de0d8
cmp dword [rax + 0x28], 0x58
jne 0x1800de0d8
mov r12b, 1
jmp 0x1800de0db
xor r12b, r12b
test byte [0x1802999d4], 4
je 0x1800de0fe
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800de0fe
cmp dword [rax + 0x28], 0x56
jne 0x1800de0fe
mov r15b, 1
jmp 0x1800de101
xor r15b, r15b
test byte [0x1802999d4], 8
je 0x1800de124
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800de124
cmp dword [rax + 0x28], 0x59
jne 0x1800de124
mov r14b, 1
jmp 0x1800de127
xor r14b, r14b
test byte [0x1802999d4], 0x10
je 0x1800de16e
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800de16e
cmp dword [rax + 0x28], 0xd9
jne 0x1800de16e
mov rcx, rdi
call fcn.1800c3ad0
cmp dword [rax], 1
jne 0x1800de16e
mov eax, dword [0x18029722c]
cmp eax, 0x47e
je 0x1800de169
cmp eax, 0x82
jne 0x1800de16e
mov sil, 1
jmp 0x1800de171
xor sil, sil
test byte [0x1802999d4], 0x20
je 0x1800de18e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x430]
test al, al
je 0x1800de18e
mov bl, 1
jmp 0x1800de190
xor bl, bl
test byte [0x1802999d4], 0x40
je 0x1800de1bc
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800de1bc
mov ecx, dword [rax + 0x28]
sub ecx, 0xd5
je 0x1800de1b8
cmp ecx, 0x45
jne 0x1800de1bc
mov al, 1
jmp 0x1800de1be
xor al, al
test r13b, r13b
jne 0x1800de23a
test r12b, r12b
jne 0x1800de1e3
test r15b, r15b
jne 0x1800de1e3
test r14b, r14b
jne 0x1800de1e3
test bl, bl
jne 0x1800de1e3
test al, al
jne 0x1800de1e3
test sil, sil
je 0x1800de299
mov rcx, rdi
call fcn.1800bec50
mov rbx, rax
mov rcx, rdi
call fcn.1800bef50
movss xmm6, dword [rax + 8]
mov rcx, rdi
call fcn.1800bee50
addss xmm6, dword [rax + 8]
mulss xmm6, xmm12
movss xmm0, dword [rbx]
addss xmm0, xmm10
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [rbx + 4]
addss xmm1, xmm10
movss dword [rbp - 0x7c], xmm1
addss xmm6, dword [rbx + 8]
movss dword [rbp - 0x78], xmm6
lea r9, [rbp - 0x80]
jmp 0x1800de280
mov rcx, rdi
call fcn.1800bec50
mov rbx, rax
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1800bf850
movss xmm0, dword [rbx]
addss xmm0, dword [rax]
movss dword [rbp - 0x74], xmm0
movss xmm1, dword [rbx + 4]
addss xmm1, dword [rax + 4]
movss dword [rbp - 0x70], xmm1
movss xmm0, dword [rbx + 8]
addss xmm0, dword [rax + 8]
movss dword [rbp - 0x6c], xmm0
lea r9, [rbp - 0x74]
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, qword [rbp - 0x68]
call fcn.1801965f0
test al, al
jne 0x1800de345
mov r13, qword [rbp + 0x10c0]
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rsi, qword [rbp + 0x10b8]
mov ecx, dword [rbp - 0x50]
inc ecx
mov dword [rbp - 0x50], ecx
jmp 0x1800ddf41
mov ebx, dword [0x18029475c]
mov r12, qword [rbp + 0x10b0]
mov r15d, 4
mov r14, qword gs:[0x58]
add r12, 8
mov qword [rbp + 0x10b0], r12
cmp r12, qword [rsp + 0x40]
jne 0x1800ddb60
xor al, al
lea r11, [rsp + 0x1168]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [0x18029722c], 0x82
jne 0x1800de47b
mov rcx, qword [rbp + 0x10b8]
call fcn.1800bec50
mov rbx, rax
mov rcx, qword [rbp + 0x10b8]
call fcn.1800bf050
movss xmm8, dword [rax]
addss xmm8, dword [rbx]
subss xmm8, dword [rsp + 0x30]
movss xmm7, dword [rbx + 4]
addss xmm7, dword [rax + 4]
subss xmm7, dword [rsp + 0x34]
movss xmm6, dword [rbx + 8]
addss xmm6, dword [rax + 8]
subss xmm6, dword [rsp + 0x38]
movaps xmm1, xmm7
mulss xmm1, xmm7
movaps xmm0, xmm8
mulss xmm0, xmm8
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1800de3c6
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1800de3ce
movaps xmm0, xmm1
call fcn.1801ce444
divss xmm6, xmm0
movaps xmm0, xmm6
call fcn.1801ca398
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x180263288]
cvtpd2ps xmm1, xmm1
movss dword [rsp + 0x40], xmm1
divss xmm7, xmm8
movaps xmm0, xmm7
call fcn.1801ca398
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x180263288]
cvtpd2ps xmm2, xmm1
movss dword [rsp + 0x44], xmm2
mov dword [rsp + 0x48], 0
comiss xmm8, xmm10
jb 0x1800de435
addss xmm2, dword [0x1802633e0]
movss dword [rsp + 0x44], xmm2
lea rcx, [rsp + 0x40]
call fcn.1800c2ed0
lea rdx, [rsp + 0x40]
mov rbx, qword [rbp + 0x10d8]
mov rcx, rbx
call fcn.180196f00
movss xmm0, dword [rsp + 0x40]
movss dword [rbx + 0x10], xmm0
movss xmm1, dword [rsp + 0x44]
movss dword [rbx + 0x14], xmm1
movss xmm0, dword [rsp + 0x48]
movss dword [rbx + 0x18], xmm0
mov byte [0x1802973bc], 1
mov al, 1
jmp 0x1800de2f2