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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1800d8040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, r9
mov r13, r8
mov rbx, rdx
mov ecx, dword [0x18013a0b4]
mov rax, qword gs:[0x58]
mov edx, 4
mov r12, qword [rax + rcx*8]
add r12, rdx
movabs rdi, 0xcbf29ce484222325
movabs r15, 0x100000001b3
mov eax, dword [r12]
cmp dword [0x18013a6c8], eax
jle 0x18007a8e8
lea rcx, [0x18013a6c8]
call fcn.1800ad598
cmp dword [0x18013a6c8], 0xffffffff
jne 0x18007a8e8
lea rdx, str.m_bControllingBot
mov rcx, rdi
mov al, 0x6d
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, r15
movzx eax, byte [rdx]
test al, al
jne 0x18007a860
lea r8, str.CCSPlayerController
mov rdx, rdi
mov al, 0x43
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r8]
test al, al
jne 0x18007a890
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rcx
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x40]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x30]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a758], eax
lea rcx, [0x18013a6c8]
call fcn.1800ad52c
movsxd rax, dword [0x18013a758]
cmp byte [rax + rbx], 0
jne 0x18007aca9
lea rsi, str.C_CSPlayerPawn
mov eax, dword [r12]
cmp dword [0x18013a6c0], eax
jle 0x18007a9b8
lea rcx, [0x18013a6c0]
call fcn.1800ad598
cmp dword [0x18013a6c0], 0xffffffff
jne 0x18007a9b8
lea rdx, str.m_EconGloves
mov rcx, rdi
mov al, 0x6d
nop word [rax + rax]
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, r15
movzx eax, byte [rdx]
test al, al
jne 0x18007a940
mov r8, rsi
mov rdx, rdi
mov al, 0x43
nop
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r8]
test al, al
jne 0x18007a960
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x20], rcx
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x30]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x40]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a66c], eax
lea rcx, [0x18013a6c0]
call fcn.1800ad52c
movsxd r15, dword [0x18013a66c]
add r15, r13
je 0x18007aca9
mov rcx, rbx
call fcn.180078940
mov edx, dword [rax]
mov rax, qword [r14]
mov r9, qword [rax + 0x40]
mov r8d, 0x29
mov rcx, r14
call r9
mov r14, rax
test rax, rax
je 0x18007aca9
mov rcx, rax
call fcn.180067730
mov rbx, rax
mov rcx, r14
call fcn.180067730
mov rcx, qword [rax]
cmp qword [rbx], rcx
jne 0x18007aa15
cmp byte [0x18013a368], 0
je 0x18007aa8b
mov byte [0x18013a6c4], 3
mov rcx, r14
call fcn.180067610
movzx ebx, word [rax]
mov rcx, r15
call fcn.180067610
mov word [rax], bx
mov rcx, r14
call fcn.180067730
mov rbx, qword [rax]
mov rcx, r15
call fcn.180067730
mov qword [rax], rbx
mov rcx, r14
call fcn.180078280
mov ebx, dword [rax]
mov rcx, r15
call fcn.180078280
mov dword [rax], ebx
mov rcx, r14
call fcn.1800783a0
mov ebx, dword [rax]
mov rcx, r15
call fcn.1800783a0
mov dword [rax], ebx
mov rcx, r14
call fcn.1800784c0
mov ebx, dword [rax]
mov rcx, r15
call fcn.1800784c0
mov dword [rax], ebx
mov byte [0x18013a368], 0
cmp byte [0x18013a6c4], 0
jbe 0x18007aca9
mov rcx, r13
call fcn.180079460
mov rcx, qword [rax]
test rcx, rcx
je 0x18007ab02
call fcn.180078a60
mov edx, dword [rax]
mov rcx, qword [0x18013a488]
call fcn.18007cb40
test rax, rax
je 0x18007ab02
xor ecx, ecx
mov r8d, dword [rax + 0xf88]
test r8d, r8d
je 0x18007ab02
mov r9, qword [rax + 0xf80]
nop word [rax + rax]
mov edx, ecx
add rdx, rdx
cmp dword [r9 + rdx*8 + 4], 0xf143b82a
je 0x18007aaf9
inc ecx
cmp ecx, r8d
jb 0x18007aae0
jmp 0x18007ab02
mov dword [r9 + rdx*8 + 0xc], 0xffffffff
mov eax, dword [r12]
cmp dword [0x18013a6cc], eax
jle 0x18007abca
lea rcx, [0x18013a6cc]
call fcn.1800ad598
cmp dword [0x18013a6cc], 0xffffffff
jne 0x18007abca
lea rdx, str.m_bInitialized
mov rcx, rdi
mov al, 0x6d
movabs rbx, 0x100000001b3
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdx]
test al, al
jne 0x18007ab41
lea r8, str.C_EconItemView
mov rdx, rdi
mov al, 0x43
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
imul rdx, rbx
movzx eax, byte [r8]
test al, al
jne 0x18007ab70
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x20], rcx
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x30]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x40]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a65c], eax
lea rcx, [0x18013a6cc]
call fcn.1800ad52c
jmp 0x18007abd4
movabs rbx, 0x100000001b3
movsxd rax, dword [0x18013a65c]
mov byte [rax + r15], 1
mov eax, dword [r12]
cmp dword [0x18013a684], eax
jle 0x18007ac97
lea rcx, [0x18013a684]
call fcn.1800ad598
cmp dword [0x18013a684], 0xffffffff
jne 0x18007ac97
lea rdx, str.m_bNeedToReApplyGloves
mov rcx, rdi
mov al, 0x6d
nop word [rax + rax]
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdx]
test al, al
jne 0x18007ac20
mov al, 0x43
nop dword [rax + rax]
movsx rax, al
lea rsi, [rsi + 1]
xor rdi, rax
imul rdi, rbx
movzx eax, byte [rsi]
test al, al
jne 0x18007ac40
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], rcx
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x30]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x40]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a660], eax
lea rcx, [0x18013a684]
call fcn.1800ad52c
movsxd rax, dword [0x18013a660]
mov byte [rax + r13], 1
dec byte [0x18013a6c4]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800ad4d0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret