Function at 0x140158120
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
movaps xmmword [rsp + 0x200], xmm6
mov rax, qword [0x1405e3440]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rsi, rcx
xor r12d, r12d
lea rdi, [rdx + 0x34]
add rcx, 0xe0
call fcn.14016bfb0
mov qword [rsi + 0xc8], r12
mov dword [rsi + 0xc4], r12d
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rax, qword [rsp + 0x20]
mov qword [rsi + 0xd4], rax
movsx rdx, word [rdi + 0xa]
xor r8d, r8d
mov rcx, rsi
call fcn.1401e82c0
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1401581ae
mov rcx, qword [rsi]
lea rdx, [rdi + 0xc]
mov r8, qword [rsi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14015894c
cmp qword [rsi + 0x18], 0xf
jbe 0x1401581db
mov r14, qword [rsi]
mov rbx, r14
lea r15, [rcx + r14]
jmp 0x1401581e5
lea r15, [rsi + rcx]
mov rbx, rsi
mov r14, rsi
cmp rbx, r15
je 0x140158205
sub r14, rbx
nop dword [rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx + r14], al
inc rbx
cmp rbx, r15
jne 0x1401581f0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov rbx, r12
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x40], rbx
mov rax, qword [rsi + 0x10]
add rax, 0xc
add rdi, rax
mov eax, dword [rdi]
mov dword [rsi + 0xc4], eax
mov eax, dword [rdi + 4]
mov dword [rsi + 0xc8], eax
mov eax, dword [rdi + 8]
mov dword [rsi + 0xcc], eax
add rdi, 0x11
mov r15d, r12d
test eax, eax
jle 0x140158318
mov r8d, 0xeb0
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
lea r13, [0x140000000]
mov r14, qword [rsp + 0x38]
movabs r11, 0x100000005
movzx eax, word [rdi]
mov word [rsp + 0x78], ax
movzx ecx, word [rdi + 2]
mov word [rsp + 0x7a], cx
movzx edx, word [rdi + 4]
mov word [rsp + 0x7c], dx
movzx ecx, word [rdi + 6]
mov word [rbp - 0x80], cx
add rdi, 8
test dx, dx
je 0x1401582b6
movzx ecx, word [rdi]
mov word [rsp + 0x7e], cx
add rdi, 2
cmp ax, r8w
jne 0x1401584d0
add rdi, 0x16
cmp r14, rbx
jne 0x140158743
lea r8, [rsp + 0x78]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.140138fa0
mov rbx, qword [rsp + 0x40]
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
mov r8d, 0xeb0
mov r14, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbx
inc r15d
cmp r15d, dword [rsi + 0xcc]
jl 0x140158275
mov r15d, r12d
mov r13, qword [rsp + 0x30]
cmp dword [rsi + 0xc8], r12d
jle 0x1401583f9
mov qword [rsp + 0x78], r13
xor ebx, ebx
cmp dword [rsi + 0xc4], ebx
jle 0x1401583d4
mov r14, r13
movsd xmm6, qword [r14]
mov eax, dword [r14 + 8]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], ebx
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x6c], ebx
lea eax, [r12 + rbx]
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp - 0x70]
lea rcx, [rsi + 0xe0]
call fcn.14013e740
mov rcx, qword [rax]
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rcx + 0x14], xmm0
movups xmm1, xmmword [rsp + 0x58]
movsd xmm1, xmm6
movups xmmword [rsp + 0x58], xmm1
movups xmmword [rcx + 0x24], xmm1
movsd xmm0, qword [rsp + 0x68]
movsd qword [rcx + 0x34], xmm0
mov dword [rcx + 0x3c], r15d
movd eax, xmm1
cmp ax, 6
jne 0x1401583bd
mov rax, qword [rsp + 0x64]
mov qword [rsi + 0xd4], rax
inc ebx
add r14, 0xc
cmp ebx, dword [rsi + 0xc4]
jl 0x140158343
mov r13, qword [rsp + 0x78]
inc r15d
add r12d, 0x64
add r13, 0x4b0
mov qword [rsp + 0x78], r13
cmp r15d, dword [rsi + 0xc8]
jl 0x140158332
mov r13, qword [rsp + 0x30]
mov ecx, dword [rdi + 0xc]
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0xd0], eax
add rdi, 0x14
test ecx, ecx
jle 0x140158466
mov r14d, ecx
movzx eax, word [rdi]
mov word [rsp + 0x78], ax
mov eax, dword [rdi + 2]
mov dword [rsp + 0x7c], eax
mov eax, dword [rdi + 6]
mov dword [rbp - 0x80], eax
movzx eax, byte [rdi + 0xa]
mov byte [rbp - 0x7c], al
movzx eax, byte [rdi + 0xb]
mov byte [rbp - 0x7b], al
mov ebx, dword [rdi + 0xc]
mov dword [rbp - 0x78], ebx
lea rdi, [rdi + 0x10]
movups xmm6, xmmword [rsp + 0x78]
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x70]
lea rcx, [rsi + 0x160]
call fcn.14013df90
mov rcx, qword [rax]
movups xmmword [rcx + 0x14], xmm6
mov dword [rcx + 0x24], ebx
sub r14, 1
jne 0x140158410
mov byte [rsi + 0xc0], 1
test r13, r13
je 0x14015894c
mov rcx, qword [rsp + 0x20]
sub rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rax, r13
cmp rdx, 0x1000
jb 0x140158944
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140158944
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movzx r8d, al
xor r8, r10
imul r8, r9
mov rcx, rax
shr rcx, 8
xor r8, rcx
imul r8, r9
mov rcx, rax
shr rcx, 0x10
xor r8, rcx
imul r8, r9
mov rcx, rax
shr rcx, 0x18
xor r8, rcx
imul r8, r9
and r8, qword [0x1405ecb10]
add r8, r8
mov r10, qword [0x1405ecaf8]
mov rcx, qword [r10 + r8*8 + 8]
mov r9, qword [0x1405ecae8]
cmp rcx, r9
je 0x140158540
mov r8, qword [r10 + r8*8]
cmp eax, dword [rcx + 0x10]
je 0x140158543
cmp rcx, r8
je 0x140158540
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x140158530
jmp 0x140158543
mov rcx, r12
test rcx, rcx
cmovne r9, rcx
movzx edx, byte [rbp - 0x80]
cmp byte [r9 + 0x70], 3
jne 0x14015857d
lea ecx, [rdx - 0x80]
cmp cl, 0x20
ja 0x140158566
movzx ecx, cl
bt r11, rcx
jb 0x14015856b
cmp dl, 0x40
jne 0x14015856f
mov byte [rbp - 0x7e], 1
test dl, 0xdd
movzx ecx, byte [rbp - 0x7e]
cmove ecx, r12d
mov byte [rbp - 0x7e], cl
test dl, 1
je 0x140158720
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x20], 0
mov qword [rbp + 8], r12
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x40], 0
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x68], 0
mov qword [rbp + 0xd8], r12
movdqa xmmword [rbp + 0xe0], xmm0
movzx ecx, byte [rdi]
inc rdi
mov r8, rdi
cmp ecx, 0x4a
ja 0x140158678
mov edx, dword [r13 + rcx*4 + 0x158980]
add rdx, r13
jmp rdx
lea rcx, [rbp + 0x60]
call fcn.14014d2e0
lea rcx, [rbp + 0x38]
call fcn.14014d2e0
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1401586dc
mov rax, qword [rbp + 0x18]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401586cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015893d
call fcn.140487b8c
mov qword [rbp + 8], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp - 0x28]
call fcn.14014d2e0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140158720
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015871b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015893d
call fcn.140487b8c
cmp r14, rbx
je 0x1401582cd
mov r8d, 0xeb0
movabs r9, 0x100000001b3
movabs r10, 0xcbf29ce484222325
movsd xmm0, qword [rsp + 0x78]
movsd qword [r14], xmm0
mov eax, dword [rbp - 0x80]
mov dword [r14 + 8], eax
add r14, 0xc
mov qword [rsp + 0x38], r14
jmp 0x140158308
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, r13
call fcn.140487b8c
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140487ca0
mov rbx, qword [rsp + 0x260]
movaps xmm6, xmmword [rsp + 0x200]
add rsp, 0x210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret