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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
mov qword [rcx], rdx
lea rax, [rcx + 0xf8]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x30], rcx
mov qword [rcx + 0x100], 0
movzx eax, word [0x14012fb3a]
lea r13, [rax + rdx]
mov r8, qword [0x14012f520]
lea r15, [rax + rdx + 4]
mov rsi, qword [0x14012f4d8]
mov ecx, dword [0x14012f4e0]
mov rax, qword [0x14012f4f0]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], rcx
lea rax, [rcx*8]
lea rbx, [rax + rax*2]
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1e8]
lea rcx, [0x14012f448]
lea r9, [rsp + 0xd0]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x20], rax
mov r14, rcx
mov rdx, r8
mov r8, r13
mov r12, r9
call fcn.14000c5d0
test al, al
je 0x1400da4b5
mov rdi, qword [rsp + 0x1e8]
cmp rdi, r15
mov rbp, r15
cmovb rbp, rdi
sub rbp, r13
mov rdx, qword [rsp + 0xd0]
mov rax, rbp
add rax, rdx
jb 0x1400da4b5
cmp dword [rsp + 0x48], 0
je 0x1400da4b5
xor ecx, ecx
jmp 0x1400d9a2d
add rcx, 0x18
cmp rbx, rcx
je 0x1400da4b5
cmp qword [rsi + rcx], rdx
ja 0x1400d9a20
cmp rax, qword [rsi + rcx + 8]
ja 0x1400d9a20
add rdx, qword [rsp + 0x78]
mov r13, qword [rsp + 0x40]
mov rcx, r13
mov r8, rbp
call fcn.1400224e0
cmp r15, rdi
jbe 0x1400d9a77
add r13, rbp
mov qword [rsp + 0x40], r13
mov r13, rdi
mov r8, qword [rsp + 0x38]
lea rax, [rsp + 0x1e8]
mov rcx, r14
mov r9, r12
jmp 0x1400d99c1
mov eax, dword [rsp + 0x6c]
mov ecx, eax
shr ecx, 0x10
mov edx, eax
shr edx, 0x18
movzx r8d, al
movabs r9, 0xcbf29ce484222325
xor r9, r8
movabs r10, 0x100000001b3
imul r9, r10
movzx edi, ah
xor rdi, r9
imul rdi, r10
movzx r8d, cl
xor r8, rdi
imul r8, r10
xor r8, rdx
imul r8, r10
and r8, qword [0x140131228]
mov r9, qword [0x140131210]
mov rcx, r8
shl rcx, 4
mov rcx, qword [r9 + rcx + 8]
mov rdx, qword [0x140131200]
cmp rcx, rdx
je 0x1400da4b5
cmp dword [rcx + 0x10], eax
je 0x1400d9b08
add r8, r8
mov r8, qword [r9 + r8*8]
cmp rcx, r8
je 0x1400da4b5
mov rcx, qword [rcx + 8]
cmp dword [rcx + 0x10], eax
jne 0x1400d9af6
cmp rcx, rdx
je 0x1400da4b5
mov rax, qword [rcx + 0x18]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x58], rax
movzx ecx, word [0x14012fb66]
lea r13, [rax + rcx]
lea r15, [rax + rcx + 0x80]
lea rax, [rsp + 0x50]
lea r12, [0x14012f448]
lea r9, [rsp + 0xd0]
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov r8, r13
call fcn.14000c5d0
test al, al
je 0x1400da4b5
mov rdi, qword [rsp + 0x50]
cmp rdi, r15
mov rbp, r15
cmovb rbp, rdi
sub rbp, r13
mov rdx, qword [rsp + 0xd0]
mov rax, rbp
add rax, rdx
jb 0x1400da4b5
xor ecx, ecx
jmp 0x1400d9b99
add rcx, 0x18
cmp rbx, rcx
je 0x1400da4b5
cmp qword [rsi + rcx], rdx
ja 0x1400d9b8c
cmp rax, qword [rsi + rcx + 8]
ja 0x1400d9b8c
add rdx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rcx, r14
mov r8, rbp
call fcn.1400224e0
cmp r15, rdi
jbe 0x1400d9be2
add r14, rbp
mov qword [rsp + 0x70], r14
mov r13, rdi
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
lea r9, [rsp + 0xd0]
jmp 0x1400d9b4a
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x1b0], ymm0
vmovups ymmword [rsp + 0x190], ymm0
vmovups ymmword [rsp + 0x170], ymm0
vmovups ymmword [rsp + 0x150], ymm0
vmovups ymmword [rsp + 0x130], ymm0
vmovups ymmword [rsp + 0x110], ymm0
vmovups ymmword [rsp + 0xf0], ymm0
vmovups ymmword [rsp + 0xd0], ymm0
mov byte [rsp + 0x1d0], 0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x1e8]
lea r8, [rsp + 0x50]
vzeroupper
call fcn.1400da4d0
vmovups ymm0, ymmword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x30]
vmovups ymmword [rcx + 0x1f0], ymm0
vmovups ymm0, ymmword [rsp + 0x190]
vmovups ymmword [rcx + 0x1d0], ymm0
vmovups ymm0, ymmword [rsp + 0x170]
vmovups ymmword [rcx + 0x1b0], ymm0
vmovups ymm0, ymmword [rsp + 0x150]
vmovups ymmword [rcx + 0x190], ymm0
vmovups ymm0, ymmword [rsp + 0xd0]
vmovups ymm1, ymmword [rsp + 0xf0]
vmovups ymm2, ymmword [rsp + 0x110]
vmovups ymm3, ymmword [rsp + 0x130]
vmovups ymmword [rcx + 0x170], ymm3
vmovups ymmword [rcx + 0x150], ymm2
vmovups ymmword [rcx + 0x130], ymm1
vmovups ymmword [rcx + 0x110], ymm0
movzx eax, byte [rsp + 0x1d0]
mov byte [rcx + 0x210], al
lea rax, [rcx + 0xc]
mov qword [rsp + 0x48], rax
mov rax, qword [rcx]
movzx ecx, word [0x14012fb12]
lea r15, [rax + rcx]
lea rsi, [rax + rcx + 4]
mov r13, qword [0x14012f4d8]
mov ecx, dword [0x14012f4e0]
mov rax, qword [0x14012f4f0]
mov qword [rsp + 0x40], rax
mov r14, rcx
lea rax, [rcx*8]
lea rbx, [rax + rax*2]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rcx, [0x14012f448]
mov rdx, qword [rsp + 0x38]
mov r8, r15
lea r9, [rsp + 0xd0]
vzeroupper
call fcn.14000c5d0
test al, al
je 0x1400da4b5
mov rdi, qword [rsp + 0x50]
cmp rdi, rsi
mov rbp, rsi
cmovb rbp, rdi
sub rbp, r15
mov rdx, qword [rsp + 0xd0]
mov rax, rbp
add rax, rdx
jb 0x1400da4b5
test r14d, r14d
je 0x1400da4b5
xor ecx, ecx
jmp 0x1400d9db0
add rcx, 0x18
cmp rbx, rcx
je 0x1400da4b5
cmp qword [r13 + rcx], rdx
ja 0x1400d9da3
cmp rax, qword [r13 + rcx + 8]
ja 0x1400d9da3
add rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r8, rbp
call fcn.1400224e0
cmp rsi, rdi
jbe 0x1400d9de2
add qword [rsp + 0x48], rbp
mov r15, rdi
jmp 0x1400d9d3f
mov rax, qword [rsp + 0x30]
lea r15, [rax + 0x10]
mov rax, qword [rax]
movzx ecx, word [0x14012fb14]
lea rdi, [rax + rcx]
lea rsi, [rax + rcx]
add rsi, 4
lea r12, [0x14012f448]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, qword [rsp + 0x38]
mov r8, rdi
lea r9, [rsp + 0xd0]
call fcn.14000c5d0
test al, al
je 0x1400da4b5
mov r14, qword [rsp + 0x50]
cmp r14, rsi
mov rbp, rsi
cmovb rbp, r14
sub rbp, rdi
mov rdx, qword [rsp + 0xd0]
mov rax, rbp
add rax, rdx
jb 0x1400da4b5
xor ecx, ecx
jmp 0x1400d9e69
add rcx, 0x18
cmp rbx, rcx
je 0x1400da4b5
cmp qword [r13 + rcx], rdx
ja 0x1400d9e5c
cmp rax, qword [r13 + rcx + 8]
ja 0x1400d9e5c
add rdx, qword [rsp + 0x40]
mov rcx, r15
mov r8, rbp
call fcn.1400224e0
cmp rsi, r14
jbe 0x1400d9e97
add r15, rbp
mov rdi, r14
jmp 0x1400d9e08
mov rax, qword [rsp + 0x30]
lea r15, [rax + 0x18]
mov rax, qword [rax]
movzx ecx, word [0x14012fb16]
lea rdi, [rax + rcx]
lea rsi, [rax + rcx]
add rsi, 4
lea r12, [0x14012f448]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, qword [rsp + 0x38]
mov r8, rdi
lea r9, [rsp + 0xd0]
call fcn.14000c5d0
test al, al
je 0x1400da4b5
mov r14, qword [rsp + 0x50]
cmp r14, rsi
mov rbp, rsi
cmovb rbp, r14
sub rbp, rdi
mov rdx, qword [rsp + 0xd0]
mov rax, rbp
add rax, rdx
jb 0x1400da4b5
xor ecx, ecx
jmp 0x1400d9f1e
add rcx, 0x18
cmp rbx, rcx
je 0x1400da4b5
cmp qword [r13 + rcx], rdx
ja 0x1400d9f11
cmp rax, qword [r13 + rcx + 8]
ja 0x1400d9f11
add rdx, qword [rsp + 0x40]
mov rcx, r15
mov r8, rbp
call fcn.1400224e0
cmp rsi, r14
jbe 0x1400d9f4c
add r15, rbp
mov rdi, r14
jmp 0x1400d9ebd
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x1c]
movzx ecx, word [0x14012fb18]
add rcx, qword [rax]
call fcn.1400da630
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x1d]
movzx ecx, word [0x14012fb1a]
add rcx, qword [rax]
call fcn.1400da630
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rbx, [rax + 0x20]
movzx ecx, word [0x14012fb1c]
add rcx, qword [rax]
mov rdx, rbx
call fcn.1400da6c0
test al, al
je 0x1400da4b5
mov eax, 0x7fffffff
mov ecx, dword [rbx]
and ecx, eax
cmp ecx, 0x7f7fffff
jg 0x1400da4b5
mov rcx, qword [rsp + 0x30]
and eax, dword [rcx + 0x24]
cmp eax, 0x7f7fffff
jg 0x1400da4b5
mov eax, 0x7fffffff
mov rcx, qword [rsp + 0x30]
and eax, dword [rcx + 0x28]
cmp eax, 0x7f7fffff
jg 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x212]
movzx ecx, word [0x14012fb1e]
add rcx, qword [rax]
call fcn.1400da630
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x50]
movzx ecx, word [0x14012fb22]
add rcx, qword [rax]
call fcn.140021ec0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdi, [rax + 0x2c]
movzx ecx, word [0x14012fb26]
add rcx, qword [rax + 0x50]
mov rdx, rdi
call fcn.1400da6c0
test al, al
je 0x1400da4b5
mov eax, 0x7fffffff
mov ecx, dword [rdi]
and ecx, eax
cmp ecx, 0x7f7fffff
jg 0x1400da4b5
mov rcx, qword [rsp + 0x30]
and eax, dword [rcx + 0x30]
cmp eax, 0x7f7fffff
jg 0x1400da4b5
mov eax, 0x7fffffff
mov rcx, qword [rsp + 0x30]
and eax, dword [rcx + 0x34]
cmp eax, 0x7f7fffff
jg 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x215]
movzx ecx, word [0x14012fb2a]
add rcx, qword [rax + 0x50]
call fcn.1400da630
mov ecx, eax
xor eax, eax
test cl, cl
je 0x1400da4b7
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x215], 1
ja 0x1400da4b7
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x214]
movzx ecx, word [0x14012fb2c]
add rcx, qword [rax]
call fcn.1400da630
mov ecx, eax
xor eax, eax
test cl, cl
je 0x1400da4b7
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x214], 1
ja 0x1400da4b7
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x3c]
movzx ecx, word [0x14012fb2e]
add rcx, qword [rax]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x68]
movzx ecx, word [0x14012fb30]
add rcx, qword [rax]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x40]
movzx ecx, word [0x14012fb32]
add rcx, qword [rax]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x14]
movzx ecx, word [0x14012fb34]
add rcx, qword [rax]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x38]
movzx ecx, word [0x14012fb36]
add rcx, qword [rax]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x216]
movzx ecx, word [0x14012fb38]
add rcx, qword [rax]
call fcn.1400da630
mov ecx, eax
xor eax, eax
test cl, cl
je 0x1400da4b7
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x216], 1
ja 0x1400da4b7
movzx ecx, word [0x14012fb3c]
mov rax, qword [rsp + 0x30]
add rcx, qword [rax]
lea rdx, [rsp + 0x90]
call fcn.140021ec0
test al, al
je 0x1400da4b5
movzx ecx, word [0x14012fb3e]
mov rax, qword [rsp + 0x30]
add rcx, qword [rax]
lea rdx, [rsp + 0x1e0]
call fcn.140021ec0
test al, al
je 0x1400da4b5
movzx ecx, word [0x14012fb5c]
mov rax, qword [rsp + 0x30]
add rcx, qword [rax]
lea rdx, [rsp + 0x88]
call fcn.140021ec0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 8]
movzx ecx, word [0x14012fb4e]
add rcx, qword [rsp + 0x88]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov r14, qword [rsp + 0x90]
movzx ecx, word [0x14012fb46]
add rcx, r14
lea rdx, [rsp + 0x68]
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov rax, qword [rsp + 0x30]
lea rdi, [rax + 0x60]
movzx ecx, word [0x14012fb4a]
add rcx, r14
mov rdx, rdi
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov eax, 0x7fffffff
and eax, dword [rdi]
cmp eax, 0x7f7fffff
jg 0x1400da4b5
mov edx, dword [rsp + 0x68]
lea rcx, [rsp + 0xc0]
call fcn.1400a16e0
cmp byte [rsp + 0xc8], 0
je 0x1400da317
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx + 0x70]
movzx eax, byte [rdx + 0x18]
cmp byte [rdx + 0x214], 0
setne r9b
mov rdx, qword [rsp + 0xc0]
and al, 1
mov byte [rsp + 0x20], al
mov r8, rbx
call fcn.1400da7c0
jmp 0x1400da319
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 0x213], al
movzx eax, word [0x14012fb48]
add r14, rax
lea rdx, [rsp + 0x9c]
mov rcx, r14
call fcn.1400db020
test al, al
je 0x1400da4b5
mov r9d, dword [rsp + 0x9c]
xor eax, eax
cmp r9, 0x64
ja 0x1400da4b7
cmp r9d, dword [rsp + 0xac]
ja 0x1400da4b7
test r9d, r9d
je 0x1400da42f
mov r8, qword [rsp + 0xa4]
mov rdx, qword [0x14012f520]
lea rcx, [rsp + 0x50]
call fcn.1400db120
movzx esi, byte [rsp + 0x60]
cmp sil, 2
je 0x1400da4b5
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x1400da41d
shl rdi, 2
xor r12d, r12d
lea r14, [rsp + 0xb0]
lea r15, [rsp + 0xd0]
jmp 0x1400da3ca
add r12, 4
cmp rdi, r12
je 0x1400da41d
mov edx, dword [rbx + r12]
mov rcx, r14
call fcn.1400a16e0
cmp byte [rsp + 0xb8], 0
je 0x1400da3c1
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xe0], 0
mov rdx, qword [rsp + 0xb0]
mov rcx, r15
call fcn.1400db340
test al, al
je 0x1400da3c1
mov rcx, qword [rsp + 0x80]
mov rdx, r15
call fcn.1400db8b0
jmp 0x1400da3c1
cmp sil, 1
jne 0x1400da42f
add rbx, 0xfffffffffffffff0
mov rcx, rbx
call fcn.140009440
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x1f]
movzx ecx, word [0x14012fb4c]
add rcx, qword [rax]
call fcn.1400da630
mov ecx, eax
xor eax, eax
test cl, cl
je 0x1400da4b7
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x1f], 1
ja 0x1400da4b7
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 0x1e]
movzx ecx, word [0x14012fb54]
add rcx, qword [rax]
call fcn.1400da630
mov ecx, eax
xor eax, eax
test cl, cl
je 0x1400da4b7
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x1e], 1
ja 0x1400da4b7
movzx ecx, word [0x14012fb50]
mov rdx, qword [rsp + 0x30]
add rcx, qword [rdx]
add rdx, 0x64
mov rsi, rdx
call fcn.140021dc0
test al, al
je 0x1400da4b5
mov eax, 0x7fffffff
and eax, dword [rsi]
cmp eax, 0x7f800000
setl al
jmp 0x1400da4b7
xor eax, eax
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret