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

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, 0xc0
mov rax, qword [0x180176168]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov r15, rdx
mov r12, rcx
xor r13d, r13d
mov dword [rsp + 0x28], r13d
lea rax, vtable.TRAITS::ArmorTraits.0
mov qword [rcx], rax
mov byte [rcx + 9], r13b
mov byte [rcx + 0xb], r13b
mov byte [rcx + 0x14], r13b
mov byte [rcx + 0x1c], r13b
mov byte [rcx + 0x28], r13b
mov byte [rcx + 0x30], r13b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r11 - 0x58], xmm0
mov qword [r11 - 0x48], rax
lea rax, [0x180120254]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov rbp, qword [rdx + 0x10]
test rbp, rbp
je 0x180033f87
mov r14, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x180033f44
mov r14, qword [rdx]
cmp rbp, 4
jne 0x180034056
lea rsi, str.NONE
sub r14, rsi
nop dword [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 0x180034056
inc rsi
sub rbp, 1
jne 0x180033f60
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x68]
mov ebx, 6
mov rsi, r13
mov rax, qword [rcx + 0x10]
mov qword [rcx + 0x10], r13
mov r15, qword [rcx + 8]
mov qword [rcx + 8], r13
mov qword [rcx], r13
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xb0], rax
test bl, 2
je 0x180033fda
and ebx, 0xfffffffd
lea rcx, [rsp + 0x68]
call fcn.180013200
test bl, 1
je 0x180033fed
lea rcx, [rsp + 0x80]
call fcn.180013200
nop
cmp rsi, r15
je 0x1800341ee
nop word [rax + rax]
mov rbx, rsi
mov rbp, qword [rsi + 0x18]
cmp rbp, 0x10
jb 0x180034010
mov rbx, qword [rsi]
mov r14, qword [rsi + 0x10]
cmp r14, 3
jb 0x1800340ab
lea rdi, [r14 + rbx]
lea r8, [rdi - 2]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call fcn.1800c1460
mov rcx, rax
test rax, rax
je 0x1800340ab
nop
cmp byte [rcx], 0x41
jne 0x180034086
cmp byte [rcx + 1], 0x52
jne 0x180034086
cmp byte [rcx + 2], 0x28
jne 0x180034086
mov eax, r13d
jmp 0x18003408b
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea r8, [rsp + 0x50]
mov rdx, r15
lea rcx, [rsp + 0x80]
call fcn.180041350
mov rcx, rax
mov ebx, 5
mov rsi, qword [rax]
jmp 0x180033f9d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1800340f1
inc rcx
lea r8, [rdi - 2]
sub r8, rcx
mov edx, 0x41
call fcn.1800c1460
mov rcx, rax
test rax, rax
jne 0x180034040
mov rdi, rsi
cmp rbp, 0x10
jb 0x1800340b7
mov rdi, qword [rsi]
cmp r14, 2
jb 0x180034152
lea rbx, [r14 + rdi]
lea r8, [rbx - 1]
sub r8, rdi
mov edx, 0x57
mov rcx, rdi
call fcn.1800c1460
mov rcx, rax
test rax, rax
je 0x180034152
cmp byte [rcx], 0x57
jne 0x180034129
cmp byte [rcx + 1], 0x28
jne 0x180034129
mov eax, r13d
jmp 0x18003412e
sub rcx, rbx
cmp rcx, 0xffffffffffffffff
je 0x1800340ab
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.180037e30
movsd xmm0, qword [rax]
movsd qword [r12 + 0xc], xmm0
cmp byte [r12 + 0x14], 0
jne 0x1800341e1
mov byte [r12 + 0x14], 1
jmp 0x1800341e1
sbb eax, eax
or eax, 1
test eax, eax
je 0x180034229
inc rcx
lea r8, [rbx - 1]
sub r8, rcx
mov edx, 0x57
call fcn.1800c1460
mov rcx, rax
test rax, rax
jne 0x1800340e1
mov rbx, rsi
cmp rbp, 0x10
jb 0x18003415e
mov rbx, qword [rsi]
lea rdi, [r14 + rbx]
cmp rbx, rdi
je 0x18003417f
movzx ecx, byte [rbx]
call fcn.1800c6900
test eax, eax
je 0x18003425e
inc rbx
cmp rbx, rdi
jne 0x180034167
call fcn.1800c58d0
mov rdi, rax
mov rbx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x180034194
mov rbx, qword [rsi]
mov dword [rax], r13d
mov r8d, 0xa
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1800c6794
cmp rbx, qword [rsp + 0x98]
je 0x1800343da
cmp dword [rdi], 0x22
je 0x1800343cd
lea ecx, [rax - 0x1e]
mov eax, 1
shl eax, cl
mov dword [rsp + 0x44], eax
mov byte [rsp + 0x48], 1
mov rax, qword [rsp + 0x44]
mov qword [r12 + 0x2c], rax
add rsi, 0x20
cmp rsi, r15
jne 0x180034000
lea rcx, [rsp + 0xa0]
call fcn.180013200
mov rax, r12
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.1800be760
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
sub rcx, rdi
cmp rcx, 0xffffffffffffffff
je 0x180034152
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.180037e30
movsd xmm0, qword [rax]
movsd qword [r12 + 0x20], xmm0
cmp byte [r12 + 0x28], 0
jne 0x1800341e1
mov byte [r12 + 0x28], 1
jmp 0x1800341e1
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18003426b
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
movabs rax, 0xcbf29ce484222325
add r8, rdx
cmp rdx, r8
je 0x1800341e1
movabs r13, 0x100000001b3
nop
movsx rcx, byte [rdx]
xor rax, rcx
imul rax, r13
inc rdx
cmp rdx, r8
jne 0x180034290
movabs rcx, 0x4ffc75c0873a346f
cmp rax, rcx
mov r13d, 0
ja 0x180034352
je 0x180034339
movabs rcx, 0x7d02e07b4980ca4
cmp rax, rcx
je 0x180034322
movabs rcx, 0x7d03f07b4982987
cmp rax, rcx
je 0x18003430b
movabs rcx, 0x466fba9f39813e6d
cmp rax, rcx
jne 0x1800341e1
mov dword [rsp + 0x2c], 2
mov byte [rsp + 0x30], 1
mov rax, qword [rsp + 0x2c]
mov qword [r12 + 0x18], rax
jmp 0x1800341e1
mov word [rsp + 0x20], 0x100
movzx eax, word [rsp + 0x20]
mov word [r12 + 8], ax
jmp 0x1800341e1
mov word [rsp + 0x22], 0x100
movzx eax, word [rsp + 0x22]
mov word [r12 + 0xa], ax
jmp 0x1800341e1
mov dword [rsp + 0x34], r13d
mov byte [rsp + 0x38], 1
mov rax, qword [rsp + 0x34]
mov qword [r12 + 0x18], rax
jmp 0x1800341e1
movabs rcx, 0x88568fb9815107a0
cmp rax, rcx
je 0x1800343b1
movabs rcx, 0xaf63f84c86021c20
cmp rax, rcx
je 0x18003439a
movabs rcx, 0xaf64094c86023903
cmp rax, rcx
jne 0x1800341e1
mov word [rsp + 0x24], 0x101
movzx eax, word [rsp + 0x24]
mov word [r12 + 0xa], ax
jmp 0x1800341e1
mov word [rsp + 0x28], 0x101
movzx eax, word [rsp + 0x28]
mov word [r12 + 8], ax
jmp 0x1800341e1
mov dword [rsp + 0x3c], 1
mov byte [rsp + 0x40], 1
mov rax, qword [rsp + 0x3c]
mov qword [r12 + 0x18], rax
jmp 0x1800341e1
lea rcx, str.stoul_argument_out_of_range
call fcn.1800bc0bc
int3
lea rcx, str.invalid_stoul_argument
call fcn.1800bc074
int3