Function at 0x18002a900
Capabilities:
Hash data using fnv

Disassembly:
cmp r8, r9
jge 0x18002aba3
mov rax, rsp
mov qword [rax + 0x20], r9
push rsi
push rdi
push r13
push r14
sub rsp, 0x48
mov qword [rax + 8], rbx
mov r14, rcx
mov qword [rax + 0x18], r12
xor ecx, ecx
mov r12, qword [rsp + 0x90]
mov rdi, r9
mov rsi, r8
mov qword [rax - 0x28], r15
mov r13, rdx
cmp byte [r12 + 0xd], cl
je 0x18002a967
mov rax, qword [rdx]
movzx ebx, word [rax + r9*2]
mov word [rax + r9*2], cx
mov rax, qword [rdx]
lea rcx, [rax + r8*2]
call qword [sym.imp.USER32.dll_CharLowerW]
mov rax, qword [r13]
xor ecx, ecx
mov word [rax + rdi*2], bx
mov rax, qword [r13]
mov qword [rsp + 0x78], rbp
movzx ebx, word [rax + rsi*2]
cmp bx, 0x20
je 0x18002a9a3
cmp bx, 9
je 0x18002a9a3
movzx ecx, bx
call qword [sym.imp.USER32.dll_IsCharAlphaNumericW]
test eax, eax
jne 0x18002a99a
cmp bx, 0x5f
je 0x18002a99a
lea ebp, [rax + 2]
xor ecx, ecx
jmp 0x18002a9a5
mov ebp, 1
xor ecx, ecx
jmp 0x18002a9a5
mov ebp, ecx
cmp byte [r12 + 0xa], 0
mov r15d, 1
mov qword [rsp + 0x28], r15
movabs rdx, 0x100000001b3
mov qword [rsp + 0x20], rsi
movabs rax, 0x222305e08601817f
mov r8d, 0x84222325
je 0x18002a9e5
test ebp, ebp
jne 0x18002a9e5
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x18002a9f9
mov rax, qword [r13]
movzx ebx, word [rax + rsi*2]
xor rbx, r8
imul rbx, rdx
mov qword [rsp + 0x30], rbx
inc rsi
cmp rsi, rdi
jge 0x18002ab37
nop word [rax + rax]
mov rax, qword [r13]
movzx edi, word [rax + rsi*2]
cmp di, 0x20
je 0x18002aa57
cmp di, 9
je 0x18002aa57
movzx ecx, di
call qword [sym.imp.USER32.dll_IsCharAlphaNumericW]
test eax, eax
jne 0x18002aa46
cmp di, 0x5f
je 0x18002aa46
lea edi, [rax + 2]
movabs rdx, 0x100000001b3
jmp 0x18002aa59
mov edi, 1
movabs rdx, 0x100000001b3
jmp 0x18002aa59
mov edi, ecx
cmp edi, ebp
jne 0x18002aa84
inc r15
mov qword [rsp + 0x28], r15
test ebp, ebp
jne 0x18002aa74
cmp byte [r12 + 0xa], bpl
jne 0x18002ab21
mov rax, qword [r13]
movzx ecx, word [rax + rsi*2]
xor rbx, rcx
jmp 0x18002ab18
cmp byte [r12 + 0xb], 0
je 0x18002aa90
test ebp, ebp
je 0x18002aac1
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x18002aab4
movups xmm0, xmmword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x30]
movups xmmword [rdx], xmm0
movsd qword [rdx + 0x10], xmm1
add qword [r14 + 8], 0x18
jmp 0x18002aac1
lea r8, [rsp + 0x20]
mov rcx, r14
call fcn.18001bbd0
cmp byte [r12 + 0xa], 0
mov r15d, 1
mov qword [rsp + 0x28], r15
mov ebp, edi
mov qword [rsp + 0x20], rsi
je 0x18002aafd
test edi, edi
jne 0x18002aafd
movabs rax, 0x222305e08601817f
movabs rdx, 0x100000001b3
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x18002ab21
mov rax, qword [r13]
mov r8d, 0x84222325
movabs rdx, 0x100000001b3
movzx ebx, word [rax + rsi*2]
xor rbx, r8
imul rbx, rdx
mov qword [rsp + 0x30], rbx
inc rsi
mov ecx, 0
cmp rsi, qword [rsp + 0x88]
jl 0x18002aa10
cmp byte [r12 + 0xb], 0
mov r12, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
je 0x18002ab55
test ebp, ebp
je 0x18002ab94
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x18002ab87
movups xmm0, xmmword [rsp + 0x20]
mov rbp, qword [rsp + 0x78]
movsd xmm1, qword [rsp + 0x30]
movups xmmword [rdx], xmm0
movsd qword [rdx + 0x10], xmm1
add qword [r14 + 8], 0x18
add rsp, 0x48
pop r14
pop r13
pop rdi
pop rsi
ret
lea r8, [rsp + 0x20]
mov rcx, r14
call fcn.18001bbd0
mov rbp, qword [rsp + 0x78]
add rsp, 0x48
pop r14
pop r13
pop rdi
pop rsi
ret