Function at 0x1400409c0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

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 - 0x37]
sub rsp, 0x90
mov rax, qword [0x1408f0280]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rax, qword [0x1409193f0]
test rax, rax
jne 0x140040d1a
mov rax, qword [0x1409192a0]
test rax, rax
jne 0x140040a2b
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov qword [0x1409192a0], rax
test rax, rax
je 0x140040d18
mov rax, qword [rax + 0x18]
mov r13, qword [rax + 0x10]
cmp qword [r13 + 0x30], 0
je 0x140040d18
lea r14, [0x14017f5f8]
mov rdx, qword [r13 + 0x50]
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], 0
mov qword [rbp + 7], 0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140040a70
lea rcx, [rbp - 0x11]
call fcn.140011070
nop
lea rdi, [rbp - 0x11]
mov rdx, qword [rbp + 7]
cmp rdx, 7
seta al
mov rcx, qword [rbp - 0x11]
cmova rdi, rcx
lea r8, [rbp - 0x11]
test al, al
mov rax, qword [rbp - 1]
je 0x140040ab1
mov rbx, rcx
lea rsi, [rcx + rax*2]
jmp 0x140040ab9
lea rsi, [r8 + rax*2]
lea rbx, [rbp - 0x11]
cmp rbx, rsi
je 0x140040ae2
sub rdi, rbx
movzx ecx, word [rbx]
call fcn.1401274a4
mov word [rdi + rbx], ax
add rbx, 2
cmp rbx, rsi
jne 0x140040ac1
mov rdx, qword [rbp + 7]
mov rax, qword [rbp - 1]
mov rcx, qword [rbp - 0x11]
mov rdi, qword [r13 + 0x30]
lea r9, [rax - 5]
xorps xmm0, xmm0
movups xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], 0
mov qword [rbp + 0x27], 0
cmp rax, r9
jb 0x140040dd5
sub rax, r9
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rax, [rbp - 0x11]
cmp rdx, 7
cmova rax, rcx
lea rdx, [rax + r9*2]
lea rcx, [rbp + 0xf]
call fcn.140011070
nop
mov rax, qword [rbp - 1]
lea rcx, [rax - 4]
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], 0
mov qword [rbp - 0x19], 0
cmp rax, rcx
jb 0x140040dcf
sub rax, rcx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rax, [rbp - 0x11]
cmp qword [rbp + 7], 7
cmova rax, qword [rbp - 0x11]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x31]
call fcn.140011070
lea r8, [rbp - 0x31]
mov r10, qword [rbp - 0x19]
cmp r10, 7
seta r11b
mov r9, qword [rbp - 0x31]
cmova r8, r9
cmp qword [rbp - 0x21], 4
jne 0x140040bcb
mov edx, 4
mov rcx, r14
sub r8, r14
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x140040bcb
add rcx, 2
sub rdx, 1
jne 0x140040bb3
xor bl, bl
jmp 0x140040bcd
mov bl, 1
test r11b, r11b
je 0x140040c07
lea rdx, [r10*2 + 2]
mov rax, r9
cmp rdx, 0x1000
jb 0x140040bff
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ddb
mov rcx, r9
call fcn.140117d3c
test bl, bl
je 0x140040c88
movsxd rax, dword [rdi + 0x3c]
mov esi, dword [rax + rdi + 0x88]
add rsi, rdi
xor ebx, ebx
mov r15d, dword [rsi + 0x14]
test r15d, r15d
je 0x140040c88
mov r12d, dword [rsi + 0x18]
cmp ebx, r12d
jae 0x140040c81
mov ecx, dword [rsi + 0x20]
add rcx, rdi
mov ecx, dword [rcx + rbx*4]
add rcx, rdi
je 0x140040c5c
movsx eax, byte [rcx]
test al, al
je 0x140040c5c
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.140010980
cmp eax, 0xa45cec64
je 0x140040c65
inc ebx
cmp ebx, r15d
jb 0x140040c28
jmp 0x140040c81
mov ecx, dword [rsi + 0x24]
add rcx, rdi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rdi
mov ebx, dword [rcx + rdx*4]
add rbx, rdi
jne 0x140040d47
lea r14, [0x14017f5f8]
mov r13, qword [r13]
mov rdx, qword [rbp + 0x27]
cmp rdx, 7
jbe 0x140040ccd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040cc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040de1
call fcn.140117d3c
nop
mov rdx, qword [rbp + 7]
cmp rdx, 7
jbe 0x140040d0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040d08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040de7
call fcn.140117d3c
cmp qword [r13 + 0x30], 0
jne 0x140040a45
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140117aa0
lea r11, [rsp + 0x90]
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
mov qword [0x1409193f0], rbx
mov rdx, qword [rbp + 0x27]
cmp rdx, 7
jbe 0x140040d8b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040d85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040de1
call fcn.140117d3c
nop
mov rdx, qword [rbp + 7]
cmp rdx, 7
jbe 0x140040dc7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov r8, rcx
cmp rdx, 0x1000
jb 0x140040dc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x140040de7
call fcn.140117d3c
mov rax, rbx
jmp 0x140040d1a
call fcn.1400111a0
nop
call fcn.1400111a0
nop
call fcn.140127908
nop
call fcn.140127908
nop
call fcn.140127908
int3