Function at 0x140127ee0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x140277430]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rsi, qword [0x14027cfa8]
mov byte [rsi + 0x718], 1
mov eax, dword [rsi + 0x71c]
mov dword [rsi + 0x720], eax
xor r15d, r15d
mov dword [rsi + 0x728], r15d
mov dword [rsi + 0x72c], 0xffffffff
mov dword [rsi + 0x730], 0x3f800000
test eax, eax
je 0x1401289fc
mov r8, qword [rsi + 0x710]
mov rax, qword [r8 + 0x8a8]
mov ecx, dword [rax + 0xa8]
mov dword [rsi + 0x758], ecx
movaps xmm0, xmmword [0x140224a30]
movups xmmword [rsp + 0x38], xmm0
lea rcx, [rsp + 0x38]
call fcn.140070280
mov dword [rsi + 0x72c], eax
mov rax, qword [0x14027eba0]
mov qword [rsp + 0x38], rax
cmp dword [rsi + 0x724], 2
jne 0x1401289fc
mov rbx, qword [rsi + 0x738]
mov rbx, qword [rbx + 0x18]
mov rdi, qword [rsi + 0x740]
mov rdi, qword [rdi + 0x18]
mov rcx, r8
call fcn.1400e1060
cmp byte [rsi + 0x75c], r15b
jne 0x140128048
mov dl, 1
mov rcx, qword [rsi + 0x710]
call fcn.1400e0860
mov rax, qword [rsi + 0x710]
movups xmm3, xmmword [rax + 0x33c]
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xff
movss xmm2, dword [0x14022437c]
subss xmm1, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xaa
subss xmm0, xmm2
movss dword [rsp + 0x20], xmm0
movss dword [rsp + 0x24], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
addss xmm1, xmm2
addss xmm3, xmm2
movss dword [rsp + 0x28], xmm3
movss dword [rsp + 0x2c], xmm1
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.140077190
mov byte [rsi + 0x75c], 1
mov rax, qword [0x14027cfa8]
cmp byte [rax + 0x718], r15b
je 0x1401289fc
mov ecx, dword [rax + 0x720]
test ecx, ecx
je 0x1401289fc
cmp dword [rax + 0x724], r15d
je 0x1401289fc
mov dword [rax + 0x728], 2
cmp ecx, 2
jne 0x1401289fc
mov dword [rax + 0x71c], r15d
mov dword [rax + 0x724], r15d
mov qword [rax + 0x738], r15
mov qword [rax + 0x740], r15
mov eax, 0xffffffff
movzx r14d, ax
mov word [rsp + 0x30], ax
xor r11b, r11b
mov dword [rsp + 0x20], r11d
movzx r13d, r15w
mov r9, qword [0x14027cbb8]
mov rcx, r9
mov r8, qword [0x14027cbb0]
sub rcx, r8
movabs rsi, 0x3159721ed7e75347
mov rax, rsi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401281e5
mov rax, r15
mov qword [rsp + 0x38], rdi
imul rdi, rax, 0x298
mov r12, r15
mov ecx, 6
mov qword [rsp + 0x28], rcx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + r8 + 0xc8]
mov r15, qword [r12 + rax + 8]
mov rsi, qword [r12 + rax]
cmp rsi, r15
je 0x14012817f
nop word [rax + rax]
mov qword [rsp + 0x58], rsi
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x60]
call fcn.140131da0
mov rcx, qword [rax]
mov eax, dword [rcx + 0x18]
movzx ecx, r13w
cmp rax, rbx
cmovne cx, r14w
movzx r14d, cx
add rsi, 0x48
cmp rsi, r15
jne 0x140128140
mov r8, qword [0x14027cbb0]
mov rcx, qword [rsp + 0x28]
add r12, 0x18
sub rcx, 1
mov qword [rsp + 0x28], rcx
jne 0x140128120
inc r13w
mov r9, qword [0x14027cbb8]
mov rcx, r9
sub rcx, r8
movabs rsi, 0x3159721ed7e75347
mov rax, rsi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsx rax, r13w
cmp rax, rdx
mov r15d, 0
jb 0x140128100
cmp r14w, 0xffff
mov rdi, qword [rsp + 0x38]
jne 0x14012827a
mov r11d, dword [rsp + 0x20]
movzx r10d, r15w
mov rcx, r9
sub rcx, r8
mov rax, rsi
imul rcx
sar rdx, 7
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
je 0x1401289fc
mov rcx, r15
sub r9, r8
mov rax, rsi
imul r9
mov r9, rdx
sar r9, 7
mov rax, r9
shr rax, 0x3f
add r9, rax
mov esi, 1
nop dword [rax + rax]
imul rax, rcx, 0x298
mov edx, dword [rax + r8 + 0x278]
inc edx
movzx r11d, r11b
cmp rdx, rdi
cmove r11d, esi
movzx eax, r10w
cmovne ax, r14w
movsx r14d, ax
inc r10w
movsx rcx, r10w
cmp rcx, r9
jb 0x140128230
cmp r14w, 0xffff
je 0x1401289fc
test r11b, r11b
jne 0x140128809
xor r9d, r9d
mov r13d, r9d
movsx rax, r14w
imul rdx, rax, 0x298
mov qword [rsp + 0x28], rdx
movabs r11, 0xcbf29ce484222325
movabs r10, 0x100000001b3
movzx r15d, r9w
movsxd rax, r13d
lea rcx, [rax + rax*2]
mov rax, qword [rdx + r8 + 0xc8]
mov rsi, qword [rax + rcx*8]
mov qword [rsp + 0x20], rsi
mov r12, qword [rax + rcx*8 + 8]
cmp rsi, r12
je 0x1401283c9
nop
movzx ecx, sil
xor rcx, r11
imul rcx, r10
movzx eax, byte [rsp + 0x21]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x22]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x23]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x24]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x25]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x26]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x27]
xor rcx, rax
imul rcx, r10
and rcx, qword [0x14027e8b0]
add rcx, rcx
mov rdx, qword [0x14027e898]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [0x14027e888]
je 0x140128369
mov rcx, qword [rdx + rcx*8]
cmp rsi, qword [rax + 0x10]
je 0x14012836c
cmp rax, rcx
je 0x140128369
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x140128358
jmp 0x14012836c
mov rax, r9
test rax, rax
je 0x1401283a7
mov qword [rsp + 0x38], rsi
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x48]
call fcn.140131da0
mov rcx, qword [rax]
mov eax, dword [rcx + 0x18]
cmp rax, rbx
je 0x140128405
xor r9d, r9d
movabs r10, 0x100000001b3
movabs r11, 0xcbf29ce484222325
inc r15w
add rsi, 0x48
mov qword [rsp + 0x20], rsi
cmp rsi, r12
jne 0x1401282d0
mov r8, qword [0x14027cbb0]
mov rdx, qword [rsp + 0x28]
inc r13d
cmp r13d, 6
jb 0x1401282a4
movzx edx, word [rsp + 0x30]
mov rax, qword [0x14027e9c8]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1401289fc
nop
mov ecx, dword [rbx + 0x18]
cmp rcx, rdi
je 0x14012840b
mov rbx, qword [rbx]
cmp rbx, rax
jne 0x1401283f0
jmp 0x1401289fc
movzx edx, r13w
jmp 0x1401283db
mov rcx, qword [rbx + 0x10]
movsx eax, dx
cmp eax, dword [rcx + 0x90]
jne 0x1401289fc
movzx eax, word [rcx + 0x40]
test ax, ax
jns 0x140128582
mov rax, qword [rcx + 0xa0]
cmp qword [rcx + 0x98], rax
jne 0x14012844e
mov word [rcx + 0x40], r14w
mov rax, qword [rbx + 0x10]
mov word [rax + 0x42], r15w
jmp 0x1401289fc
xor esi, esi
mov qword [rbp - 0x28], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0xffffffff
mov qword [rbp - 8], rsi
mov qword [rbp], rsi
mov qword [rbp + 8], rsi
mov dword [rbp + 0x10], esi
mov qword [rbp + 0x18], rsi
movdqa xmmword [rbp + 0x20], xmm0
mov word [rbp - 0x30], r14w
mov word [rbp - 0x2e], r15w
lea r8, [rcx + 0x48]
lea rax, [rbp - 0x28]
cmp rax, r8
je 0x1401284a5
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
sub r8, rdx
lea rcx, [rbp - 0x28]
call fcn.140005920
mov rcx, qword [rbx + 0x10]
movzx eax, word [rcx + 0x60]
mov word [rbp - 0x10], ax
inc word [rcx + 0x44]
mov rdi, qword [rbx + 0x10]
mov rbx, qword [rdi + 0xa0]
cmp rbx, qword [rdi + 0xa8]
je 0x140128513
mov qword [rsp + 0x28], rbx
movzx eax, word [rbp - 0x30]
mov word [rbx], ax
movzx eax, word [rbp - 0x2e]
mov word [rbx + 2], ax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x28]
call fcn.1400043b0
nop
movzx eax, word [rbp - 0x10]
mov word [rbx + 0x20], ax
movzx eax, word [rbp - 0xe]
mov word [rbx + 0x22], ax
lea rcx, [rbx + 0x28]
lea rdx, [rbp - 8]
call fcn.140028130
nop
add qword [rdi + 0xa0], 0x60
jmp 0x140128527
lea r8, [rbp - 0x30]
mov rdx, rbx
lea rcx, [rdi + 0x98]
call fcn.14003baf0
nop
lea rcx, [rbp + 0x18]
call fcn.1400353d0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1401289fc
mov rdx, qword [rbp - 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012856c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14012856c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8378
mov qword [rbp - 0x28], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
jmp 0x1401289fc
xor r12d, r12d
mov word [rsp + 0x72], r12w
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x70], 0xffffffff
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
mov dword [rbp - 0x50], r12d
mov qword [rbp - 0x48], r12
movdqa xmmword [rbp - 0x40], xmm0
mov word [rsp + 0x70], ax
movzx eax, word [rcx + 0x42]
mov word [rsp + 0x72], ax
lea r8, [rcx + 0x48]
lea rax, [rsp + 0x78]
cmp rax, r8
je 0x1401285e8
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
sub r8, rdx
lea rcx, [rsp + 0x78]
call fcn.140005920
mov rcx, qword [rbx + 0x10]
movzx eax, word [rcx + 0x60]
mov word [rbp - 0x70], ax
mov qword [rbp + 0x38], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov dword [rbp + 0x50], 0xffffffff
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
mov dword [rbp + 0x70], r12d
mov qword [rbp + 0x78], r12
movdqa xmmword [rbp + 0x80], xmm0
mov word [rbp + 0x30], r14w
mov word [rbp + 0x32], r15w
lea r8, [rcx + 0x48]
lea rax, [rbp + 0x38]
cmp rax, r8
je 0x14012864d
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
sub r8, rdx
lea rcx, [rbp + 0x38]
call fcn.140005920
mov rcx, qword [rbx + 0x10]
movzx eax, word [rcx + 0x60]
mov word [rbp + 0x50], ax
mov edx, 0xffffffff
mov word [rcx + 0x40], dx
mov rax, qword [rbx + 0x10]
mov word [rax + 0x42], dx
mov rsi, qword [rbx + 0x10]
mov rdi, qword [rsi + 0xa0]
cmp rdi, qword [rsi + 0xa8]
je 0x1401286cb
mov qword [rsp + 0x28], rdi
movzx eax, word [rsp + 0x70]
mov word [rdi], ax
movzx eax, word [rsp + 0x72]
mov word [rdi + 2], ax
lea rcx, [rdi + 8]
lea rdx, [rsp + 0x78]
call fcn.1400043b0
nop
movzx eax, word [rbp - 0x70]
mov word [rdi + 0x20], ax
movzx eax, word [rbp - 0x6e]
mov word [rdi + 0x22], ax
lea rcx, [rdi + 0x28]
lea rdx, [rbp - 0x68]
call fcn.140028130
nop
add qword [rsi + 0xa0], 0x60
jmp 0x1401286df
lea r8, [rsp + 0x70]
mov rdx, rdi
lea rcx, [rsi + 0x98]
call fcn.14003baf0
mov rsi, qword [rbx + 0x10]
mov rdi, qword [rsi + 0xa0]
cmp rdi, qword [rsi + 0xa8]
je 0x14012873d
mov qword [rsp + 0x28], rdi
movzx eax, word [rbp + 0x30]
mov word [rdi], ax
movzx eax, word [rbp + 0x32]
mov word [rdi + 2], ax
lea rcx, [rdi + 8]
lea rdx, [rbp + 0x38]
call fcn.1400043b0
nop
movzx eax, word [rbp + 0x50]
mov word [rdi + 0x20], ax
movzx eax, word [rbp + 0x52]
mov word [rdi + 0x22], ax
lea rcx, [rdi + 0x28]
lea rdx, [rbp + 0x58]
call fcn.140028130
nop
add qword [rsi + 0xa0], 0x60
jmp 0x140128750
lea r8, [rbp + 0x30]
mov rdx, rdi
lea rcx, [rsi + 0x98]
call fcn.14003baf0
mov rax, qword [rbx + 0x10]
mov word [rax + 0x44], 2
lea rcx, [rbp + 0x78]
call fcn.1400353d0
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1401287ac
mov rdx, qword [rbp + 0x48]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012879b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14012879b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8378
mov qword [rbp + 0x38], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp - 0x48]
call fcn.1400353d0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1401289fc
mov rdx, qword [rbp - 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401287f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401287f2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8378
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
jmp 0x1401289fc
lea rcx, [rbp + 0x90]
call fcn.140028b40
nop
mov byte [rbp + 0x90], 2
mov dword [rbp + 0x94], r14d
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.140130ed0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
cmp word [rax], 1
je 0x1401288ff
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.140130ed0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
cmp word [rax], 5
je 0x1401288ff
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.140130ed0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
cmp word [rax], 6
je 0x1401288ff
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.140130ed0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
cmp word [rax], 7
je 0x1401288ff
xor r8d, r8d
lea rdx, [0x14020e949]
lea rcx, [rbp + 0xf8]
call fcn.140005360
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.1401313a0
mov rdx, qword [rax]
add rdx, 0x18
lea rax, [rbp + 0x1a8]
cmp rax, rdx
je 0x14012893f
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401288f6
mov rdx, qword [rdx]
lea rcx, [rbp + 0x1a8]
jmp 0x14012893a
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.1401313a0
mov rdx, qword [rax]
add rdx, 0x18
lea rax, [rbp + 0xb8]
cmp rax, rdx
je 0x14012893f
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140128933
mov rdx, qword [rdx]
lea rcx, [rbp + 0xb8]
call fcn.140005360
mov dword [rsp + 0x20], ebx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.140130ed0
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x18]
mov rax, qword [rbx + 0x1c0]
cmp rax, qword [rbx + 0x1c8]
je 0x140128985
lea rdx, [rbp + 0x90]
mov rcx, rax
call fcn.14002fd50
add qword [rbx + 0x1c0], 0x138
jmp 0x14012899c
lea r8, [rbp + 0x90]
mov rdx, rax
lea rcx, [rbx + 0x1b8]
call fcn.14003ae70
nop
lea rcx, [rbp + 0x1a8]
call fcn.140002c40
lea rcx, [rbp + 0x180]
call fcn.140002c40
lea rcx, [rbp + 0x160]
call fcn.140002c40
lea rcx, [rbp + 0x128]
call fcn.140028820
lea rcx, [rbp + 0xf8]
call fcn.140002c40
lea rcx, [rbp + 0xd8]
call fcn.140002c40
lea rcx, [rbp + 0xb8]
call fcn.140002c40
lea rcx, [rbp + 0x98]
call fcn.140002c40
mov rbx, qword [0x14027cfa8]
cmp byte [rbx + 0x75c], 0
je 0x140128a4c
call fcn.140077220
mov dl, 1
mov rcx, qword [rbx + 0x710]
call fcn.1400e0960
mov rax, qword [rbx + 0x710]
mov rdx, qword [rax + 0x8a8]
lea rcx, [rdx + 0xa8]
mov r8d, dword [rbx + 0x758]
cmp dword [rcx], r8d
je 0x140128a45
call fcn.1400a4790
mov byte [rbx + 0x75c], 0
mov byte [rbx + 0x718], 0
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1401e8350
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret