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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov rax, qword [0x1402ea010]
xor rax, rsp
mov qword [rbp + 7], rax
mov r15, r9
mov r12, r8
mov rsi, rdx
mov r13, rcx
mov qword [rbp - 0x79], rcx
mov rcx, qword [rcx + 0xa0]
mov rax, qword [rcx]
mov rdx, r8
call qword [rax + 0x438]
mov r14, rax
test rax, rax
jne 0x140204c44
mov rcx, qword [r13 + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x488]
mov r13, rax
mov r14, qword [rbp - 0x79]
mov rcx, qword [r14 + 0xa0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x468]
mov rdx, qword [r14 + 0x170]
call r8
mov rdi, qword [r14 + 0xb8]
mov rcx, qword [rdi]
mov rbx, qword [rcx + 0x58]
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], 0
mov qword [rbp - 0x29], reloc.WSOCK32.dll_ntohs
mov byte [rbp - 0x41], 0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], 0
mov qword [rbp - 1], reloc.WSOCK32.dll_ntohs
mov ecx, 0x20
call fcn.140244aa8
mov qword [rbp - 0x19], rax
mov qword [rbp - 9], 0x18
mov qword [rbp - 1], 0x1f
movups xmm0, xmmword [str..._gamedata_Weapons.data]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14027c9f8]
movsd qword [rax + 0x10], xmm1
mov byte [rax + 0x18], 0
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x19]
mov rcx, rdi
call rbx
mov rbx, rax
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x140204b6c
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140204b67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140204b67
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140244ae4
xor edi, edi
mov qword [rbp - 9], rdi
mov qword [rbp - 1], reloc.WSOCK32.dll_ntohs
mov byte [rbp - 0x19], dil
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x140204bbc
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140204bb7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140204bb7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140244ae4
mov qword [rbp - 0x31], rdi
mov qword [rbp - 0x29], reloc.WSOCK32.dll_ntohs
mov byte [rbp - 0x41], 0
cmp byte [r14 + 0x3c4], 0
jne 0x140204be4
mov rax, qword [rbx]
mov edx, 3
mov rcx, rbx
call qword [rax + 0x28]
mov rcx, qword [r14 + 0xa0]
mov rax, qword [rcx]
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
mov r9, r12
mov r8, rsi
mov rdx, rbx
call qword [rax + 0x430]
mov r14, rax
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
add dword [rcx + 8], 0xffffffff
jne 0x140204c29
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rbp - 0x79]
mov rcx, qword [rcx + 0xa0]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x468]
mov r13, qword [rbp - 0x79]
test r14, r14
jne 0x140204cd0
mov rcx, qword [r13 + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rbx, rax
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x30]
mov rax, qword [r12 + 0x10]
movabs rcx, 0x7fffffffffffffff
sub rcx, rax
cmp rcx, 0x23
jb 0x140205035
cmp qword [r12 + 0x18], 0x10
jb 0x140204c8c
mov r12, qword [r12]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], 0x23
lea r9, str.Error_could_not_load_weapon_mesh_:
lea rcx, [rbp - 0x41]
call fcn.14003dc00
nop
mov r8d, 0xffffffff
lea rdx, [rbp - 0x41]
mov rcx, rbx
call rdi
nop
lea rcx, [rbp - 0x41]
call fcn.140007550
xor eax, eax
jmp 0x14020500f
mov qword [rbp - 0x51], r14
mov rbx, qword [r13 + 0xa0]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x438]
lea r9, [r15 + 0x80]
mov rcx, qword [r9 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 0xb
jb 0x14020503b
cmp qword [r9 + 0x18], 0x10
jb 0x140204d11
mov r9, qword [r9]
mov qword [rsp + 0x30], recv
lea rax, str._Player.acm
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x41]
call fcn.14003dc00
nop
lea rdx, [rbp - 0x41]
mov rcx, rbx
call rdi
mov rsi, rax
lea rcx, [rbp - 0x41]
call fcn.140007550
test rsi, rsi
jne 0x140204e10
mov rcx, qword [r13 + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x30]
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], rsi
mov qword [rbp - 0x29], reloc.WSOCK32.dll_ntohs
lea ecx, [rsi + 0x30]
call fcn.140244aa8
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x31], 0x22
mov qword [rbp - 0x29], 0x2f
movups xmm0, xmmword [str.Error_could_not_load_weapon_mesh_2]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140295a58]
movups xmmword [rax + 0x10], xmm1
movzx ecx, word [0x140295a68]
mov word [rax + 0x20], cx
mov byte [rax + 0x22], sil
lea r8d, [rsi - 1]
lea rdx, [rbp - 0x41]
mov rcx, rdi
call rbx
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x140204e09
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140204e04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140204e04
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140244ae4
xor eax, eax
jmp 0x14020500f
xor r15d, r15d
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x80]
test eax, eax
je 0x140204fdf
nop word [rax + rax]
xor edi, edi
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x80]
test eax, eax
je 0x140204ebd
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi]
mov rdx, rdi
mov rcx, rsi
call qword [rax + 0x98]
lea rbx, [rax + 0x10]
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x98]
lea rcx, [rax + 0x10]
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140204e84
mov rbx, qword [rbx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x140204e92
mov rcx, qword [rcx]
cmp r8, rax
jne 0x140204ea7
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140204fc5
inc rdi
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x80]
mov eax, eax
cmp rdi, rax
jb 0x140204e50
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x98]
mov rbx, rax
mov rcx, qword [r14]
mov r8, qword [rcx + 0x98]
mov rdx, r15
mov rcx, r14
call r8
add rax, 0x10
mov rdx, qword [rax + 0x10]
mov r8, qword [r12 + 0x10]
movabs rcx, 0x7fffffffffffffff
sub rcx, rdx
cmp rcx, r8
jb 0x14020502f
cmp qword [rax + 0x18], 0x10
jb 0x140204f0f
mov rax, qword [rax]
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x140204f1e
mov rcx, qword [r12]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9, rax
lea rcx, [rbp - 0x71]
call fcn.14003dc00
lea rax, [rbp - 0x71]
mov qword [rbp - 0x49], rax
lea rcx, [rbx + 0x10]
lea rax, [rbp - 0x71]
cmp rcx, rax
je 0x140204f65
lea rdx, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae rdx, qword [rbp - 0x71]
mov r8, qword [rbp - 0x61]
call fcn.1400075d0
lea r8, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae r8, qword [rbp - 0x71]
movabs rcx, 0xcbf29ce484222325
xor edx, edx
mov r9, qword [rbp - 0x61]
test r9, r9
je 0x140204fb8
movabs r13, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r13
inc rdx
cmp rdx, r9
jb 0x140204fa0
mov r13, qword [rbp - 0x79]
mov qword [rbx + 0x30], rcx
lea rcx, [rbp - 0x71]
call fcn.140007550
inc r15
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x80]
mov eax, eax
cmp r15, rax
jb 0x140204e30
lea rcx, [r13 + 0x4b0]
mov rdx, qword [r13 + 0x4b8]
cmp rdx, qword [r13 + 0x4c0]
je 0x140205003
mov qword [rdx], r14
add qword [r13 + 0x4b8], 8
jmp 0x14020500c
lea r8, [rbp - 0x51]
call fcn.14002e3c0
mov rax, r14
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1402447f0
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140002b20
int3
call fcn.140002b20
int3
call fcn.140002b20
int3