Function at 0x1800344e0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov rax, qword [0x180176168]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov r15, rdx
mov r12, rcx
mov dword [rsp + 0x28], 0
lea rax, vtable.TRAITS::WeaponTraits.0
mov qword [rcx], rax
mov byte [rcx + 9], 0
mov byte [rcx + 0xb], 0
mov byte [rcx + 0x10], 0
mov byte [rcx + 0x1c], 0
mov byte [rcx + 0x28], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r11 - 0x58], xmm0
mov qword [r11 - 0x48], rax
lea rax, [0x180120254]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
mov rbp, qword [rdx + 0x10]
test rbp, rbp
je 0x1800345b7
mov r14, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x180034576
mov r14, qword [rdx]
cmp rbp, 4
jne 0x180034694
lea rsi, str.NONE
sub r14, rsi
nop word [rax + rax]
movzx edi, byte [rsi]
movzx ecx, byte [r14 + rsi]
call fcn.1800c57d0
mov ebx, eax
mov ecx, edi
call fcn.1800c57d0
cmp ebx, eax
jne 0x180034694
inc rsi
sub rbp, 1
jne 0x180034590
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xa8], xmm0
lea rcx, [rsp + 0xa0]
mov ebx, 6
xor r15d, r15d
mov rax, qword [rcx + 0x10]
mov qword [rcx + 0x10], 0
mov r13, qword [rcx + 8]
mov qword [rsp + 0x90], r13
mov qword [rcx + 8], 0
mov qword [rcx], 0
mov qword [rsp + 0xd0], r15
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xe0], rax
test bl, 2
je 0x180034627
and ebx, 0xfffffffd
lea rcx, [rsp + 0xa0]
call fcn.180013200
test bl, 1
je 0x18003463a
lea rcx, [rsp + 0xb8]
call fcn.180013200
nop
cmp r15, r13
je 0x180034a99
mov rdi, r15
mov rbp, qword [r15 + 0x18]
cmp rbp, 0x10
jb 0x180034653
mov rdi, qword [r15]
mov r14, qword [r15 + 0x10]
lea rsi, [r14 - 2]
cmp r14, 2
jb 0x1800346f2
lea rbx, [rsi + rdi]
lea r8, [rbx + 1]
sub r8, rdi
mov edx, 0x57
mov rcx, rdi
call fcn.1800c1460
mov rcx, rax
test rax, rax
je 0x1800346f2
cmp byte [rcx], 0x57
jne 0x1800346cd
cmp byte [rcx + 1], 0x28
jne 0x1800346cd
xor eax, eax
jmp 0x1800346d2
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x80], xmm0
lea r8, [rsp + 0x80]
mov rdx, r15
lea rcx, [rsp + 0xb8]
call fcn.180041350
mov rcx, rax
mov ebx, 5
mov r15, qword [rax]
jmp 0x1800345d3
sbb eax, eax
or eax, 1
test eax, eax
je 0x180034737
inc rcx
lea r8, [rbx + 1]
sub r8, rcx
mov edx, 0x57
call fcn.1800c1460
mov rcx, rax
test rax, rax
jne 0x180034685
mov rdi, r15
cmp rbp, 0x10
jb 0x1800346fe
mov rdi, qword [r15]
cmp r14, 2
jb 0x18003479b
lea rbx, [rsi + rdi]
lea r8, [rbx + 1]
sub r8, rdi
mov edx, 0x44
mov rcx, rdi
call fcn.1800c1460
mov rcx, rax
test rax, rax
je 0x18003479b
cmp byte [rcx], 0x44
jne 0x180034772
cmp byte [rcx + 1], 0x28
jne 0x180034772
xor eax, eax
jmp 0x180034777
sub rcx, rdi
cmp rcx, 0xffffffffffffffff
je 0x1800346f2
mov rdx, r15
lea rcx, [rsp + 0x98]
call fcn.180037e30
movsd xmm0, qword [rax]
movsd qword [r12 + 0x20], xmm0
cmp byte [r12 + 0x28], 0
jne 0x180034a8c
mov byte [r12 + 0x28], 1
jmp 0x180034a8c
sbb eax, eax
or eax, 1
test eax, eax
je 0x18003486e
inc rcx
lea r8, [rbx + 1]
sub r8, rcx
mov edx, 0x44
call fcn.1800c1460
mov rcx, rax
test rax, rax
jne 0x180034728
mov rdx, r15
cmp rbp, 0x10
jb 0x1800347a7
mov rdx, qword [r15]
movabs rax, 0xcbf29ce484222325
lea r8, [r14 + rdx]
cmp rdx, r8
je 0x180034a8c
movabs r13, 0x100000001b3
nop dword [rax + rax]
movsx rcx, byte [rdx]
xor rax, rcx
imul rax, r13
inc rdx
cmp rdx, r8
jne 0x1800347d0
movabs rcx, 0xa26cfafc925340b0
cmp rax, rcx
mov r13, qword [rsp + 0x90]
ja 0x180034998
je 0x18003497c
movabs rcx, 0x16565119b102f66b
cmp rax, rcx
ja 0x1800348f7
je 0x1800348db
movabs rcx, 0x7d02e07b4980ca4
cmp rax, rcx
je 0x1800348c4
movabs rcx, 0x7d03f07b4982987
cmp rax, rcx
je 0x1800348ad
movabs rcx, 0x10e77c1f4627e8c0
cmp rax, rcx
jne 0x180034a8c
mov dword [rsp + 0x2c], 6
mov byte [rsp + 0x30], 1
mov rax, qword [rsp + 0x2c]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
sub rcx, rdi
cmp rcx, 0xffffffffffffffff
je 0x18003479b
mov rdx, r15
lea rcx, [rsp + 0x80]
call fcn.180037e30
movsd xmm0, qword [rax]
movsd qword [r12 + 0x14], xmm0
cmp byte [r12 + 0x1c], 0
jne 0x180034a8c
mov byte [r12 + 0x1c], 1
jmp 0x180034a8c
mov word [rsp + 0x20], 0x100
movzx eax, word [rsp + 0x20]
mov word [r12 + 8], ax
jmp 0x180034a8c
mov word [rsp + 0x22], 0x100
movzx eax, word [rsp + 0x22]
mov word [r12 + 0xa], ax
jmp 0x180034a8c
mov dword [rsp + 0x34], 7
mov byte [rsp + 0x38], 1
mov rax, qword [rsp + 0x34]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
movabs rcx, 0x1fd1ec6f816ea370
cmp rax, rcx
je 0x180034960
movabs rcx, 0x6eb22acaeed4eb63
cmp rax, rcx
je 0x180034944
movabs rcx, 0x6f32ab56fd0b7e84
cmp rax, rcx
jne 0x180034a8c
mov dword [rsp + 0x3c], 4
mov byte [rsp + 0x40], 1
mov rax, qword [rsp + 0x3c]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
mov dword [rsp + 0x44], 1
mov byte [rsp + 0x48], 1
mov rax, qword [rsp + 0x44]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
mov dword [rsp + 0x4c], 0
mov byte [rsp + 0x50], 1
mov rax, qword [rsp + 0x4c]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
mov dword [rsp + 0x54], 2
mov byte [rsp + 0x58], 1
mov rax, qword [rsp + 0x54]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
movabs rcx, 0xb26d8b97503ee56d
cmp rax, rcx
ja 0x180034a3e
je 0x180034a25
movabs rcx, 0xae608113b7fa94b1
cmp rax, rcx
je 0x180034a0c
movabs rcx, 0xaf63f84c86021c20
cmp rax, rcx
je 0x1800349f5
movabs rcx, 0xaf64094c86023903
cmp rax, rcx
jne 0x180034a8c
mov word [rsp + 0x24], 0x101
movzx eax, word [rsp + 0x24]
mov word [r12 + 0xa], ax
jmp 0x180034a8c
mov word [rsp + 0x28], 0x101
movzx eax, word [rsp + 0x28]
mov word [r12 + 8], ax
jmp 0x180034a8c
mov dword [rsp + 0x5c], 8
mov byte [rsp + 0x60], 1
mov rax, qword [rsp + 0x5c]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
mov dword [rsp + 0x64], 5
mov byte [rsp + 0x68], 1
mov rax, qword [rsp + 0x64]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
movabs rcx, 0xd6cf7977021ac506
cmp rax, rcx
je 0x180034a75
movabs rcx, 0xea41af61f3bbbd91
cmp rax, rcx
jne 0x180034a8c
mov dword [rsp + 0x6c], 9
mov byte [rsp + 0x70], 1
mov rax, qword [rsp + 0x6c]
mov qword [r12 + 0xc], rax
jmp 0x180034a8c
mov dword [rsp + 0x74], 3
mov byte [rsp + 0x78], 1
mov rcx, qword [rsp + 0x74]
mov qword [r12 + 0xc], rcx
add r15, 0x20
cmp r15, r13
jne 0x180034643
lea rcx, [rsp + 0xd0]
call fcn.180013200
mov rax, r12
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1800be760
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret