Function at 0x1800dc4a0
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.1801924b0
sub rsp, rax
vmovaps xmmword [rsp + 0x1150], xmm6
vmovaps xmmword [rsp + 0x1140], xmm7
vmovaps xmmword [rsp + 0x1130], xmm8
vmovaps xmmword [rsp + 0x1120], xmm9
vmovaps xmmword [rsp + 0x1110], xmm10
vmovaps xmmword [rsp + 0x1100], xmm11
vmovaps xmmword [rsp + 0x10f0], xmm12
vmovaps xmmword [rsp + 0x10e0], xmm13
vmovaps xmmword [rsp + 0x10d0], xmm14
vmovaps xmmword [rsp + 0x10c0], xmm15
mov r13, r8
mov rsi, rdx
lea r8, [rbp + 0x10c8]
lea rdx, [rbp - 0x60]
lea rcx, [0x18023d900]
call fcn.1800c8090
mov rcx, qword [rax]
mov r12, qword [rcx + 0x18]
mov qword [rsp + 0x68], r12
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x40], rax
cmp r12, rax
je 0x1800dcd5d
mov ebx, dword [0x18024256c]
mov r15, qword gs:[0x58]
mov r14d, 4
vmovss xmm14, dword [0x180218a24]
vmovss xmm12, dword [0x1802189f4]
vxorps xmm10, xmm10, xmm10
vmovss xmm15, dword [0x180218a98]
vmovss xmm13, dword [0x180218a50]
vmovss xmm11, dword [rbp + 0x10d0]
nop dword [rax]
mov rdi, qword [r12]
mov qword [rbp - 0x68], rdi
mov rcx, rdi
call fcn.1800c2b50
cmp dword [rax], 2
je 0x1800dcd49
mov qword [rsp + 0x70], r14
mov r15, qword [r15 + rbx*8]
mov qword [rsp + 0x78], r15
mov eax, dword [r15 + r14]
cmp dword [0x18024417c], eax
jle 0x1800dc684
lea rcx, [0x18024417c]
call fcn.1801905cc
cmp dword [0x18024417c], 0xffffffff
jne 0x1800dc684
mov rcx, qword [0x180243e98]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x1800dc66d
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1800dc626
xor edx, edx
test rcx, rcx
je 0x1800dc664
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1800dc640
cmp r9d, 0x941d2eb9
je 0x1800dc82b
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1800dc615
xor eax, eax
add eax, 0xc
mov dword [0x180244180], eax
lea rcx, [0x18024417c]
call fcn.180190560
movsxd rax, dword [0x180244180]
cmp byte [rax + rdi], 0
je 0x1800dcd3a
mov rax, qword [0x18023c980]
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, rsi
lea rdx, str.sticky_arm_time
vmovaps xmm0, xmm14
call rax
vmovaps xmm7, xmm0
mov rax, qword [0x180243f18]
vmovss xmm6, dword [rax + 0xc]
mov rcx, rdi
call fcn.1800dc3a0
vaddss xmm0, xmm7, dword [rax]
vcomiss xmm0, xmm6
ja 0x1800dcd3a
mov rcx, rdi
call fcn.1800bdce0
mov rbx, rax
mov rcx, rdi
call fcn.1800bdfe0
vmovss xmm6, dword [rax + 8]
mov rcx, rdi
call fcn.1800bdee0
vaddss xmm0, xmm6, dword [rax + 8]
vmulss xmm1, xmm0, xmm12
vaddss xmm3, xmm1, dword [rbx + 8]
vaddss xmm2, xmm10, dword [rbx + 4]
vaddss xmm0, xmm10, dword [rbx]
vmovss dword [rsp + 0x30], xmm0
vmovss dword [rsp + 0x34], xmm2
vmovss dword [rsp + 0x38], xmm3
cmp dword [rbp + 0x10c8], 0xf
jne 0x1800dc907
mov rcx, rdi
call fcn.1800c2b50
cmp dword [rax], 1
jne 0x1800dc907
mov rcx, rdi
call fcn.1800c2a50
cmp byte [rax], 0
jne 0x1800dc907
mov eax, dword [r15 + r14]
cmp dword [0x180253938], eax
jle 0x1800dc794
lea rcx, [0x180253938]
call fcn.1801905cc
cmp dword [0x180253938], 0xffffffff
jne 0x1800dc794
lea rdx, str.tf_grenadelauncher_livetime
call fcn.18018e090
mov qword [0x180253928], rax
lea rcx, [0x180253938]
call fcn.180190560
mov eax, dword [r15 + r14]
cmp dword [0x180253924], eax
jle 0x1800dc7d4
lea rcx, [0x180253924]
call fcn.1801905cc
cmp dword [0x180253924], 0xffffffff
jne 0x1800dc7d4
lea rdx, str.tf_sticky_radius_ramp_time
call fcn.18018e090
mov qword [0x180253930], rax
lea rcx, [0x180253924]
call fcn.180190560
mov eax, dword [r15 + r14]
cmp dword [0x180253920], eax
jle 0x1800dc814
lea rcx, [0x180253920]
call fcn.1801905cc
cmp dword [0x180253920], 0xffffffff
jne 0x1800dc814
lea rdx, str.tf_sticky_airdet_radius
call fcn.18018e090
mov qword [0x180253918], rax
lea rcx, [0x180253920]
call fcn.180190560
mov rax, qword [0x180253928]
test rax, rax
je 0x1800dc840
mov rax, qword [rax + 0x38]
vmovss xmm8, dword [rax + 0x54]
jmp 0x1800dc845
lea r8, str.m_iType
mov rdx, qword [r10 + 0x18]
call fcn.180190160
jmp 0x1800dc66f
vmovaps xmm8, xmm14
mov rax, qword [0x180253930]
test rax, rax
je 0x1800dc85c
mov rax, qword [rax + 0x38]
vmovss xmm0, dword [rax + 0x54]
jmp 0x1800dc861
vmovaps xmm0, xmm15
mov rax, qword [0x180253918]
test rax, rax
je 0x1800dc878
mov rax, qword [rax + 0x38]
vmovss xmm7, dword [rax + 0x54]
jmp 0x1800dc880
vmovss xmm7, dword [0x180218a28]
vaddss xmm9, xmm0, xmm8
mov rax, qword [0x180243f18]
vmovss xmm6, dword [rax + 0xc]
mov rcx, rdi
call fcn.1800dc3a0
vsubss xmm0, xmm6, dword [rax]
vucomiss xmm8, xmm9
jp 0x1800dc8b3
jne 0x1800dc8b3
vcmpless xmm0, xmm9, xmm0
vblendvps xmm1, xmm7, xmm13, xmm0
jmp 0x1800dc903
vsubss xmm1, xmm0, xmm8
vsubss xmm0, xmm9, xmm8
vdivss xmm2, xmm1, xmm0
vmovss dword [rsp + 0x60], xmm2
vmovss dword [rsp + 0x64], xmm13
vmovss dword [rbp + 0x10b0], xmm10
lea rcx, [rbp + 0x10b0]
lea rax, [rsp + 0x60]
vcomiss xmm10, xmm2
cmovbe rcx, rax
lea rax, [rsp + 0x64]
vcomiss xmm2, xmm13
cmovbe rax, rcx
vsubss xmm0, xmm13, xmm7
vmulss xmm0, xmm0, dword [rax]
vaddss xmm1, xmm0, xmm7
vmulss xmm11, xmm11, xmm1
mov eax, 0xf
vmovd xmm1, eax
vmovd xmm0, dword [rbp + 0x10c8]
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm0, dword [0x180218c2c]
vmovss xmm1, dword [0x180218c14]
vblendvps xmm0, xmm1, xmm0, xmm2
vmulss xmm7, xmm0, xmm11
mov eax, dword [r15 + r14]
cmp dword [0x180244034], eax
jle 0x1800dc972
lea rcx, [0x180244034]
call fcn.1801905cc
cmp dword [0x180244034], 0xffffffff
jne 0x1800dc972
mov rax, qword [0x18023d518]
mov qword [0x180243fd0], rax
lea rcx, [0x180244034]
call fcn.180190560
mov dword [rsp + 0x20], 0x80
xor r9d, r9d
vmovaps xmm2, xmm7
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call qword [0x180243fd0]
mov ecx, dword [rbp - 0x50]
cmp ecx, dword [rbp - 0x4c]
jge 0x1800dcd2f
movsxd rax, ecx
mov rdi, qword [rbp + rax*8 - 0x48]
test rdi, rdi
je 0x1800dcd2f
cmp rdi, rsi
je 0x1800dcd25
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dc9f5
cmp dword [rax + 0x28], 0xf7
jne 0x1800dc9f5
mov rcx, rdi
call fcn.1800bcf40
cmp byte [rax], 0
jne 0x1800dcd22
mov rcx, rdi
call fcn.1800bd250
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x1800dcd22
mov rcx, rdi
call fcn.1800bdde0
mov ebx, dword [rax]
mov rcx, rsi
call fcn.1800bdde0
cmp ebx, dword [rax]
je 0x1800dcd22
vmovss dword [rsp + 0x58], xmm10
vmovss dword [rsp + 0x54], xmm10
vmovss dword [rsp + 0x50], xmm10
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov rbx, rax
mov ecx, dword [r15 + r14]
cmp dword [0x180244018], ecx
jle 0x1800dca68
lea rcx, [0x180244018]
call fcn.1801905cc
cmp dword [0x180244018], 0xffffffff
jne 0x1800dca68
mov rcx, qword [0x18023ced0]
mov qword [0x180243fd8], rcx
lea rcx, [0x180244018]
call fcn.180190560
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [0x180243fd8]
vmovss xmm0, dword [rsp + 0x30]
vsubss xmm3, xmm0, dword [rsp + 0x50]
vmovss xmm1, dword [rsp + 0x34]
vsubss xmm2, xmm1, dword [rsp + 0x54]
vmovss xmm0, dword [rsp + 0x38]
vsubss xmm4, xmm0, dword [rsp + 0x58]
vmulss xmm2, xmm2, xmm2
vmulss xmm1, xmm3, xmm3
vaddss xmm3, xmm2, xmm1
vmulss xmm0, xmm4, xmm4
vaddss xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x1800dcac3
vsqrtss xmm0, xmm0, xmm0
jmp 0x1800dcac8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vcomiss xmm0, xmm7
ja 0x1800dcd22
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcb0f
cmp dword [rax + 0x28], 0xf7
jne 0x1800dcb0f
test byte [0x180246604], 1
je 0x1800dcb0f
mov byte [rsp + 0x20], 0
mov r9, r13
mov r8, rsi
mov rdx, rdi
call fcn.1800bf510
test al, al
jne 0x1800dcb0f
mov r13b, 1
jmp 0x1800dcb12
xor r13b, r13b
test byte [0x180246604], 2
je 0x1800dcb35
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcb35
cmp dword [rax + 0x28], 0x58
jne 0x1800dcb35
mov r12b, 1
jmp 0x1800dcb38
xor r12b, r12b
test byte [0x180246604], 4
je 0x1800dcb5b
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcb5b
cmp dword [rax + 0x28], 0x56
jne 0x1800dcb5b
mov r15b, 1
jmp 0x1800dcb5e
xor r15b, r15b
test byte [0x180246604], 8
je 0x1800dcb81
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcb81
cmp dword [rax + 0x28], 0x59
jne 0x1800dcb81
mov r14b, 1
jmp 0x1800dcb84
xor r14b, r14b
test byte [0x180246604], 0x10
je 0x1800dcbcb
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcbcb
cmp dword [rax + 0x28], 0xd9
jne 0x1800dcbcb
mov rcx, rdi
call fcn.1800c2b50
cmp dword [rax], 1
jne 0x1800dcbcb
mov eax, dword [0x180243fa4]
cmp eax, 0x47e
je 0x1800dcbc6
cmp eax, 0x82
jne 0x1800dcbcb
mov sil, 1
jmp 0x1800dcbce
xor sil, sil
test byte [0x180246604], 0x20
je 0x1800dcc09
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcc09
mov ecx, dword [rax + 0x28]
sub ecx, 0x30
je 0x1800dcc05
sub ecx, 0x19
je 0x1800dcc05
sub ecx, 9
je 0x1800dcc05
sub ecx, 0xea
je 0x1800dcc05
cmp ecx, 0x26
jne 0x1800dcc09
mov bl, 1
jmp 0x1800dcc0b
xor bl, bl
test byte [0x180246604], 0x40
je 0x1800dcc37
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800dcc37
mov ecx, dword [rax + 0x28]
sub ecx, 0xd5
je 0x1800dcc33
cmp ecx, 0x45
jne 0x1800dcc37
mov al, 1
jmp 0x1800dcc39
xor al, al
test r13b, r13b
jne 0x1800dccab
test r12b, r12b
jne 0x1800dcc5e
test r15b, r15b
jne 0x1800dcc5e
test r14b, r14b
jne 0x1800dcc5e
test bl, bl
jne 0x1800dcc5e
test al, al
jne 0x1800dcc5e
test sil, sil
je 0x1800dcd0a
mov rcx, rdi
call fcn.1800bdce0
mov rbx, rax
mov rcx, rdi
call fcn.1800bdfe0
vmovss xmm6, dword [rax + 8]
mov rcx, rdi
call fcn.1800bdee0
vaddss xmm0, xmm6, dword [rax + 8]
vmulss xmm3, xmm0, xmm12
vaddss xmm0, xmm10, dword [rbx]
vmovss dword [rbp - 0x80], xmm0
vaddss xmm0, xmm10, dword [rbx + 4]
vmovss dword [rbp - 0x7c], xmm0
vaddss xmm1, xmm3, dword [rbx + 8]
vmovss dword [rbp - 0x78], xmm1
lea r9, [rbp - 0x80]
jmp 0x1800dccf1
mov rcx, rdi
call fcn.1800bdce0
mov rbx, rax
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1800be8e0
vmovss xmm0, dword [rbx]
vaddss xmm1, xmm0, dword [rax]
vmovss dword [rbp - 0x74], xmm1
vmovss xmm2, dword [rbx + 4]
vaddss xmm0, xmm2, dword [rax + 4]
vmovss dword [rbp - 0x70], xmm0
vmovss xmm1, dword [rbx + 8]
vaddss xmm2, xmm1, dword [rax + 8]
vmovss dword [rbp - 0x6c], xmm2
lea r9, [rbp - 0x74]
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, qword [rbp - 0x68]
call fcn.18018cee0
test al, al
jne 0x1800dcdbc
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 0x1800dc993
mov ebx, dword [0x18024256c]
mov r12, qword [rsp + 0x68]
mov r14d, 4
mov r15, qword gs:[0x58]
add r12, 8
mov qword [rsp + 0x68], r12
cmp r12, qword [rsp + 0x40]
jne 0x1800dc5b0
xor al, al
lea r11, [rsp + 0x1168]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
vmovaps xmm9, xmmword [r11 - 0x48]
vmovaps xmm10, xmmword [r11 - 0x58]
vmovaps xmm11, xmmword [r11 - 0x68]
vmovaps xmm12, xmmword [r11 - 0x78]
vmovaps xmm13, xmmword [r11 - 0x88]
vmovaps xmm14, xmmword [r11 - 0x98]
vmovaps 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 [0x180243fa4], 0x82
jne 0x1800dced6
mov rcx, qword [rbp + 0x10b8]
call fcn.1800bdce0
mov rbx, rax
mov rcx, qword [rbp + 0x10b8]
call fcn.1800be0e0
vmovss xmm0, dword [rbx]
vaddss xmm1, xmm0, dword [rax]
vsubss xmm7, xmm1, dword [rsp + 0x30]
vmovss xmm2, dword [rbx + 4]
vaddss xmm0, xmm2, dword [rax + 4]
vsubss xmm8, xmm0, dword [rsp + 0x34]
vmovss xmm1, dword [rbx + 8]
vaddss xmm2, xmm1, dword [rax + 8]
vsubss xmm6, xmm2, dword [rsp + 0x38]
vmulss xmm3, xmm8, xmm8
vmulss xmm0, xmm7, xmm7
vaddss xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x1800dce32
vsqrtss xmm0, xmm0, xmm0
jmp 0x1800dce37
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vdivss xmm0, xmm6, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
vcvtss2sd xmm1, xmm0, xmm0
vmulsd xmm1, xmm1, qword [0x180218ae0]
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [rsp + 0x40], xmm0
vdivss xmm0, xmm8, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
vcvtss2sd xmm1, xmm0, xmm0
vmulsd xmm2, xmm1, qword [0x180218ae0]
vcvtsd2ss xmm3, xmm2, xmm2
vmovss dword [rsp + 0x44], xmm3
vmovss dword [rsp + 0x48], xmm10
vcomiss xmm7, xmm10
jb 0x1800dce90
vaddss xmm0, xmm3, dword [0x180218c44]
vmovss dword [rsp + 0x44], xmm0
lea rcx, [rsp + 0x40]
call fcn.1800c1fb0
lea rdx, [rsp + 0x40]
mov rbx, qword [rbp + 0x10d8]
mov rcx, rbx
call fcn.18018d800
vmovss xmm0, dword [rsp + 0x40]
vmovss dword [rbx + 0x10], xmm0
vmovss xmm1, dword [rsp + 0x44]
vmovss dword [rbx + 0x14], xmm1
vmovss xmm0, dword [rsp + 0x48]
vmovss dword [rbx + 0x18], xmm0
mov byte [0x180244144], 1
mov al, 1
jmp 0x1800dcd5f