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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x5f0]
sub rsp, 0x6f0
mov rsi, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
xor ebx, ebx
mov eax, dword [rcx + rax]
cmp dword [0x140323a00], eax
jle 0x1400af4c0
lea rcx, [0x140323a00]
call fcn.140170378
cmp dword [0x140323a00], 0xffffffff
jne 0x1400af4c0
vpxor xmm0, xmm0, xmm0
vmovups ymmword [0x140323820], ymm0
vmovups ymmword [0x140323840], ymm0
vmovups xmmword [rsp + 0x30], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rsp + 0x40], xmm1
lea r8d, [rbx + 7]
lea rdx, str.knife_t
lea rcx, [rsp + 0x30]
vzeroupper
call fcn.140003ed0
mov dword [rsp + 0x50], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
lea r8d, [rbx + 5]
lea rdx, str.knife
lea rcx, [rsp + 0x58]
call fcn.140003ed0
mov dword [rsp + 0x78], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x80], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp - 0x70], xmm1
lea r8d, [rbx + 6]
lea rdx, str.deagle
lea rcx, [rbp - 0x80]
call fcn.140003ed0
mov dword [rbp - 0x60], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
lea r8d, [rbx + 5]
lea rdx, str.elite
lea rcx, [rbp - 0x58]
call fcn.140003ed0
mov dword [rbp - 0x38], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x30], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp - 0x20], xmm1
lea r8d, [rbx + 9]
lea rdx, str.fiveseven
lea rcx, [rbp - 0x30]
call fcn.140003ed0
mov dword [rbp - 0x10], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], rbx
lea r8d, [rbx + 5]
lea rdx, str.glock
lea rcx, [rbp - 8]
call fcn.140003ed0
mov dword [rbp + 0x18], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x20], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x30], xmm1
lea r8d, [rbx + 7]
lea rdx, str.hkp2000
lea rcx, [rbp + 0x20]
call fcn.140003ed0
mov dword [rbp + 0x40], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], rbx
lea r8d, [rbx + 4]
lea rdx, str.p250
lea rcx, [rbp + 0x48]
call fcn.140003ed0
mov dword [rbp + 0x68], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x70], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x80], xmm1
lea r8d, [rbx + 0xc]
lea rdx, str.usp_silencer
lea rcx, [rbp + 0x70]
call fcn.140003ed0
mov dword [rbp + 0x90], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
lea r8d, [rbx + 4]
lea rdx, str.tec9
lea rcx, [rbp + 0x98]
call fcn.140003ed0
mov dword [rbp + 0xb8], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0xc0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0xd0], xmm1
lea r8d, [rbx + 5]
lea rdx, str.cz75a
lea rcx, [rbp + 0xc0]
call fcn.140003ed0
mov dword [rbp + 0xe0], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x100], rbx
lea r8d, [rbx + 8]
lea rdx, str.revolver
lea rcx, [rbp + 0xe8]
call fcn.140003ed0
mov dword [rbp + 0x108], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x110], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x120], xmm1
lea r8d, [rbx + 5]
lea rdx, str.mac10
lea rcx, [rbp + 0x110]
call fcn.140003ed0
mov dword [rbp + 0x130], 4
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x150], rbx
lea r8d, [rbx + 5]
lea rdx, str.ump45
lea rcx, [rbp + 0x138]
call fcn.140003ed0
mov dword [rbp + 0x158], 4
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x160], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x170], xmm1
lea r8d, [rbx + 5]
lea rdx, str.bizon
lea rcx, [rbp + 0x160]
call fcn.140003ed0
mov dword [rbp + 0x180], 4
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], rbx
lea r8d, [rbx + 3]
lea rdx, [0x1401e642c]
lea rcx, [rbp + 0x188]
call fcn.140003ed0
mov dword [rbp + 0x1a8], 4
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x1b0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x1c0], xmm1
lea r8d, [rbx + 3]
lea rdx, [0x1401e6434]
lea rcx, [rbp + 0x1b0]
call fcn.140003ed0
mov dword [rbp + 0x1d0], 4
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x1d8], xmm0
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f0], rbx
lea r8d, [rbx + 3]
lea rdx, [0x1401e643c]
lea rcx, [rbp + 0x1d8]
call fcn.140003ed0
mov dword [rbp + 0x1f8], 4
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x200], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x210], xmm1
lea r8d, [rbx + 7]
lea rdx, str.galilar
lea rcx, [rbp + 0x200]
call fcn.140003ed0
mov dword [rbp + 0x220], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x228], xmm0
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x240], rbx
lea r8d, [rbx + 5]
lea rdx, str.famas
lea rcx, [rbp + 0x228]
call fcn.140003ed0
mov dword [rbp + 0x248], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x250], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x260], xmm1
lea r8d, [rbx + 0xd]
lea rdx, str.m4a1_silencer
lea rcx, [rbp + 0x250]
call fcn.140003ed0
mov dword [rbp + 0x270], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], rbx
mov qword [rbp + 0x290], rbx
lea r8d, [rbx + 4]
lea rdx, str.m4a1
lea rcx, [rbp + 0x278]
call fcn.140003ed0
mov dword [rbp + 0x298], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x2a0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x2b0], xmm1
lea r8d, [rbx + 3]
lea rdx, [0x1401e6480]
lea rcx, [rbp + 0x2a0]
call fcn.140003ed0
mov dword [rbp + 0x2c0], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x2c8], xmm0
mov qword [rbp + 0x2d8], rbx
mov qword [rbp + 0x2e0], rbx
lea r8d, [rbx + 5]
lea rdx, str.sg556
lea rcx, [rbp + 0x2c8]
call fcn.140003ed0
mov dword [rbp + 0x2e8], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x2f0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x300], xmm1
lea r8d, [rbx + 4]
lea rdx, str.ak47
lea rcx, [rbp + 0x2f0]
call fcn.140003ed0
mov dword [rbp + 0x310], 2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x318], xmm0
mov qword [rbp + 0x328], rbx
mov qword [rbp + 0x330], rbx
lea r8d, [rbx + 5]
lea rdx, str.g3sg1
lea rcx, [rbp + 0x318]
call fcn.140003ed0
mov dword [rbp + 0x338], 3
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x340], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x350], xmm1
lea r8d, [rbx + 6]
lea rdx, str.scar20
lea rcx, [rbp + 0x340]
call fcn.140003ed0
mov dword [rbp + 0x360], 3
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x368], xmm0
mov qword [rbp + 0x378], rbx
mov qword [rbp + 0x380], rbx
lea r8d, [rbx + 3]
lea rdx, [0x1401e64ac]
lea rcx, [rbp + 0x368]
call fcn.140003ed0
mov dword [rbp + 0x388], 3
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x390], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x3a0], xmm1
lea r8d, [rbx + 5]
lea rdx, str.ssg08
lea rcx, [rbp + 0x390]
call fcn.140003ed0
mov dword [rbp + 0x3b0], 3
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x3b8], xmm0
mov qword [rbp + 0x3c8], rbx
mov qword [rbp + 0x3d0], rbx
lea r8d, [rbx + 6]
lea rdx, str.xm1014
lea rcx, [rbp + 0x3b8]
call fcn.140003ed0
mov dword [rbp + 0x3d8], 5
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x3e0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x3f0], xmm1
lea r8d, [rbx + 8]
lea rdx, str.sawedoff
lea rcx, [rbp + 0x3e0]
call fcn.140003ed0
mov dword [rbp + 0x400], 5
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x408], xmm0
mov qword [rbp + 0x418], rbx
mov qword [rbp + 0x420], rbx
lea r8d, [rbx + 4]
lea rdx, str.mag7
lea rcx, [rbp + 0x408]
call fcn.140003ed0
mov dword [rbp + 0x428], 5
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x430], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x440], xmm1
lea r8d, [rbx + 4]
lea rdx, str.nova
lea rcx, [rbp + 0x430]
call fcn.140003ed0
mov dword [rbp + 0x450], 5
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x458], xmm0
mov qword [rbp + 0x468], rbx
mov qword [rbp + 0x470], rbx
lea r8d, [rbx + 5]
lea rdx, str.negev
lea rcx, [rbp + 0x458]
call fcn.140003ed0
mov dword [rbp + 0x478], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x480], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x490], xmm1
lea r8d, [rbx + 4]
lea rdx, str.m249
lea rcx, [rbp + 0x480]
call fcn.140003ed0
mov dword [rbp + 0x4a0], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x4a8], xmm0
mov qword [rbp + 0x4b8], rbx
mov qword [rbp + 0x4c0], rbx
lea r8d, [rbx + 7]
lea rdx, str.zeusx27
lea rcx, [rbp + 0x4a8]
call fcn.140003ed0
mov dword [rbp + 0x4c8], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x4d0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x4e0], xmm1
lea r8d, [rbx + 9]
lea rdx, str.flashbang
lea rcx, [rbp + 0x4d0]
call fcn.140003ed0
mov dword [rbp + 0x4f0], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x4f8], xmm0
mov qword [rbp + 0x508], rbx
mov qword [rbp + 0x510], rbx
lea r8d, [rbx + 9]
lea rdx, str.hegrenade
lea rcx, [rbp + 0x4f8]
call fcn.140003ed0
mov dword [rbp + 0x518], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x520], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x530], xmm1
lea r8d, [rbx + 0xc]
lea rdx, str.smokegrenade
lea rcx, [rbp + 0x520]
call fcn.140003ed0
mov dword [rbp + 0x540], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x548], xmm0
mov qword [rbp + 0x558], rbx
mov qword [rbp + 0x560], rbx
lea r8d, [rbx + 7]
lea rdx, str.molotov
lea rcx, [rbp + 0x548]
call fcn.140003ed0
mov dword [rbp + 0x568], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x570], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x580], xmm1
lea r8d, [rbx + 5]
lea rdx, str.decoy
lea rcx, [rbp + 0x570]
call fcn.140003ed0
mov dword [rbp + 0x590], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x598], xmm0
mov qword [rbp + 0x5a8], rbx
mov qword [rbp + 0x5b0], rbx
lea r8d, [rbx + 3]
lea rdx, [0x1401e6560]
lea rcx, [rbp + 0x598]
call fcn.140003ed0
mov dword [rbp + 0x5b8], ebx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x5c0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x5d0], xmm1
lea r8d, [rbx + 2]
lea rdx, [0x1401e6568]
lea rcx, [rbp + 0x5c0]
call fcn.140003ed0
mov dword [rbp + 0x5e0], ebx
vxorps xmm0, xmm0, xmm0
vmovss dword [0x140323820], xmm0
mov qword [0x140323828], rbx
mov qword [0x140323830], rbx
lea ecx, [rbx + 0x38]
call fcn.1401703f0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140323828], rax
mov qword [0x140323838], rbx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [0x140323840], xmm0
mov qword [0x140323850], 7
mov qword [0x140323858], 8
vmovss xmm0, dword [0x1401ece1c]
vmovss dword [0x140323820], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [0x140323838]
call fcn.140053d30
nop
lea rdi, [rsp + 0x30]
nop word [rax + rax]
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.1400bc8c0
add rdi, 0x28
lea rax, [rbp + 0x5e8]
cmp rdi, rax
jne 0x1400af470
lea r9, [fcn.140003850]
mov edx, 0x28
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x30]
call fcn.14017042c
lea rcx, [0x1401b5380]
call fcn.140170734
nop
lea rcx, [0x140323a00]
call fcn.14017030c
mov rdx, qword [rsi + 0x10]
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1400af4d1
mov rcx, qword [rsi]
movabs r9, 0xcbf29ce484222325
test rdx, rdx
je 0x1400af503
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor r9, rax
imul r9, r8
inc rbx
cmp rbx, rdx
jb 0x1400af4f0
mov r8, rsi
lea rdx, [rsp + 0x20]
call fcn.1400bdc70
mov rcx, qword [rax + 8]
mov rax, qword [0x140323828]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [0x140323828]
je 0x1400af530
mov eax, dword [rax + 0x30]
jmp 0x1400af532
xor eax, eax
lea r11, [rsp + 0x6f0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret