Function at 0x4c8760
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x190]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x4c8792
sub rsp, 0x210
mov qword [rsp + 0x208], rbp
lea rbp, [rsp + 0x208]
mov qword [rsp + 0x228], 0
lea rdi, [rsp + 0x230]
xorps xmm0, xmm0
lea rdi, [rdi - 0x20]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ce71
mov rbp, qword [rbp]
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x160], rax
movups xmmword [rsp + 0x180], xmm0
movups xmmword [rsp + 0x190], xmm0
movups xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x1b0], 0
lea rdi, [rsp + 0x1b8]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ce75
mov rbp, qword [rbp]
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x190], rax
call fcn.00453080
mov eax, dword [rsp]
mov dword [rsp + 0x18c], eax
mov eax, 1
lea rcx, [rsp + 0x160]
mov edx, 1
xor ebx, ebx
lea rsi, [rsp + 0x78]
xor edi, edi
xor r8d, r8d
jmp 0x4c7ec9
mov r12, qword [rsp + 0x148]
add r12, 0x20
mov r9, rdi
mov r8d, eax
mov r10, rcx
mov r11, rdx
mov rcx, r12
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], r11
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0xf0], r10
mov byte [rsp + 0x7f], r8b
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xc8], rax
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x138], rdx
mov rdi, qword [rcx]
mov qword [rsp + 0x130], rdi
lea r12, [0x0065ae80]
mov qword [rsp], r12
lea r13, [rsp + 0x180]
mov qword [rsp + 8], r13
mov qword [rsp + 0x10], rdi
call fcn.00412ba0
mov rax, qword [rsp + 0x18]
cmp byte [rax], 0
je 0x4c7f1c
movzx eax, byte [rsp + 0x7f]
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x140]
mov rdi, qword [rsp + 0xe0]
inc rdi
mov r8, qword [rsp + 0x80]
cmp r8, rdi
jg 0x4c7db8
nop dword [rax]
test al, al
jne 0x4c7f05
mov r9, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x88]
mov rdi, rcx
mov r8d, eax
mov rax, rdx
mov rcx, rsi
mov rdx, rbx
mov rbx, r10
mov rsi, r9
test rax, rax
jle 0x4c877e
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x110], rdi
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
nop dword [rax + rax]
jmp 0x4c7dd3
mov byte [rsp + 0x290], al
mov rbp, qword [rsp + 0x208]
add rsp, 0x210
ret
lea rax, [0x0065ae80]
mov qword [rsp], rax
lea rcx, [rsp + 0x180]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x10], rdx
call fcn.004132a0
mov rax, qword [rsp + 0x18]
mov byte [rax], 1
mov rax, qword [rsp + 0x130]
mov rcx, qword [rax + 0x40]
mov qword [rsp + 0xc0], rcx
mov rdx, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x140]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xf0]
movzx r9d, byte [rsp + 0x7f]
xor r10d, r10d
jmp 0x4c7fd1
mov r11, qword [rsp + 0xa0]
lea r10, [r11 + 1]
mov r11, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x130]
mov r13, qword [rsp + 0x220]
mov r9d, ebx
mov r8, rax
mov rdi, rdx
mov rbx, rsi
mov rax, r12
mov rdx, r13
mov rsi, rcx
mov rcx, r11
cmp r10, rcx
jge 0x4c8767
mov r11, qword [rax + 0x38]
mov r12, qword [rax + 0x40]
cmp r10, r12
jae 0x4c8786
lea r12, [r10 + r10*2]
mov r13, qword [r11 + r12*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
nop
test r13, r13
je 0x4c8023
lea r14, [r13 + 3]
mov qword [rsp + 0x150], r14
movzx r13d, word [r13 + 1]
rol r13w, 8
mov qword [rsp + 0x158], r13
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x120], r8
mov byte [rsp + 0x7e], r9b
mov qword [rsp + 0xb0], rsi
mov r13, qword [rsp + 0x150]
mov r14, qword [rsp + 0x158]
mov r15, qword [r11 + r12*8 + 0x10]
bt r15d, 0
jae 0x4c875f
mov r11, qword [r11 + r12*8 + 8]
movzx r12d, byte [r11 + 0x17]
and r12d, 0x1f
nop
cmp r12, 0x16
je 0x4c86cb
mov qword [rsp + 0xe8], r11
mov rax, qword [rdx]
mov qword [rsp], r13
mov qword [rsp + 8], r14
nop
call rax
cmp byte [rsp + 0x10], 0
jne 0x4c8473
movzx ebx, byte [rsp + 0x7e]
test bl, bl
je 0x4c80db
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x128]
jmp 0x4c7f95
mov rsi, qword [rsp + 0xe8]
test rsi, rsi
je 0x4c80b6
movzx edi, byte [rsi + 0x17]
and edi, 0x1f
cmp rdi, 0x19
jne 0x4c80b6
lea rax, [0x0065aee0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rsi
call fcn.00412ba0
mov rax, qword [rsp + 0x18]
cmp qword [rax], 0
jg 0x4c8413
mov rax, qword [rsp + 0x120]
test rax, rax
je 0x4c8405
mov qword [rsp + 0xf0], rax
lea rcx, [0x0065aee0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x10], rdx
nop dword [rax]
call fcn.004132a0
mov rax, qword [rsp + 0x18]
mov qword [rax], 1
lea rax, [0x0065aee0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x10], rdx
call fcn.00412ba0
mov rax, qword [rsp + 0x18]
cmp qword [rax], 1
jg 0x4c83c7
mov rax, qword [rsp + 0xc8]
test rax, rax
ja 0x4c838a
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x118], rdx
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x138]
mov qword [rsp + 8], rbx
shl rax, 3
mov qword [rsp + 0x10], rax
call fcn.0046d4e0
mov rax, qword [rsp + 0xc8]
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0xd8]
cmp rdx, rcx
jb 0x4c833e
mov rbx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0xa0]
mov qword [rbx + rax*8], rsi
mov r8, qword [rsp + 0xb8]
lea r9, [r8 + 1]
mov r10, qword [rsp + 0xb0]
cmp r9, r10
ja 0x4c82b2
mov rdi, qword [rsp + 0x128]
shl r8, 5
mov qword [rdi + r8 + 0x10], rcx
mov qword [rdi + r8 + 0x18], rdx
lea r11, [rdi + r8]
lea r12, [rdi + r8]
lea r12, [r12 + 8]
cmp dword [0x0088a9c0], 0
jne 0x4c8290
mov r11, qword [rsp + 0xe8]
mov qword [rdi + r8], r11
mov qword [rdi + r8 + 8], rbx
movzx ebx, byte [rsp + 0x7e]
mov rax, qword [rsp + 0xf0]
mov rcx, r10
mov rdx, r9
mov rsi, rdi
jmp 0x4c7f95
mov rcx, rdi
mov rdi, r11
mov r8, qword [rsp + 0xe8]
nop
call fcn.0046c8c0
mov rdi, r12
call fcn.0046c880
mov rdi, rcx
jmp 0x4c8275
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rdx
lea rax, [0x0066e480]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], r10
mov qword [rsp + 0x20], r9
call fcn.0044ddc0
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
lea r9, [rax + 1]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb8]
jmp 0x4c8240
lea rbx, [0x0064ec80]
mov qword [rsp], rbx
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rcx
call fcn.0044ddc0
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rcx, [rax + 1]
mov rax, qword [rsp + 0xc8]
jmp 0x4c8213
lea rcx, [0x0064ec80]
mov qword [rsp], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 8], xmm0
mov qword [rsp + 0x18], 0
mov qword [rsp + 0x20], rax
call fcn.0044ddc0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0xc8]
jmp 0x4c81bf
lea rax, [0x0065aee0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x10], rdx
call fcn.004132a0
mov rax, qword [rsp + 0x18]
mov qword [rax], 2
nop dword [rax]
jmp 0x4c81aa
call fcn.0040f300
mov rax, qword [rsp]
jmp 0x4c8137
lea rax, [0x0065aee0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x10], rdx
call fcn.004132a0
mov rax, qword [rsp + 0x18]
mov qword [rax], 2
movzx ebx, byte [rsp + 0x7e]
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x128]
jmp 0x4c7f95
lea rax, [0x0065aee0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x10], rdx
call fcn.00412ba0
mov rax, qword [rsp + 0x18]
cmp qword [rax], 1
jg 0x4c8676
movzx eax, byte [rsp + 0x7e]
test al, al
jne 0x4c8676
mov rax, qword [rsp + 0x130]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 8], rcx
call fcn.004c7860
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x228], rax
lea rdi, [rsp + 0x230]
lea rsi, [rsp + 0x18]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d1cc
mov rbp, qword [rbp]
mov qword [rsp + 0x270], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x278], xmm0
mov rax, qword [rsp + 0xc8]
test rax, rax
ja 0x4c863c
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x118], rcx
mov qword [rsp], rcx
mov rbx, qword [rsp + 0x138]
mov qword [rsp + 8], rbx
shl rax, 3
mov qword [rsp + 0x10], rax
call fcn.0046d4e0
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x270], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x278], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x280], rdx
lea rbx, [rcx + 1]
cmp rbx, rdx
ja 0x4c85ec
mov rdx, rcx
lea rdi, [rcx + 1]
mov qword [rsp + 0x278], rdi
mov rdi, qword [rsp + 0xa0]
mov qword [rax + rcx*8], rdi
mov ebx, 1
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x128]
jmp 0x4c7f95
lea rsi, [0x0064ec80]
mov qword [rsp], rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
call fcn.0044ddc0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x270], rax
mov rdx, qword [rsp + 0xc8]
jmp 0x4c85aa
lea rcx, [0x0064ec80]
mov qword [rsp], rcx
movups xmmword [rsp + 8], xmm0
mov qword [rsp + 0x18], 0
mov qword [rsp + 0x20], rax
call fcn.0044ddc0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0xc8]
jmp 0x4c853f
mov qword [rsp + 0x228], 0
lea rdi, [rsp + 0x230]
xorps xmm0, xmm0
lea rdi, [rdi - 0x20]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ce71
mov rbp, qword [rbp]
mov byte [rsp + 0x290], 0
mov rbp, qword [rsp + 0x208]
add rsp, 0x210
ret
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0x108], r13
mov qword [rsp], r11
nop
call fcn.004c6000
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rax, qword [rax + 0x100]
mov qword [rsp], rcx
call rax
mov r11, qword [rsp + 8]
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x120]
movzx r9d, byte [rsp + 0x7e]
mov r10, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x108]
mov r14, qword [rsp + 0xa8]
xorps xmm0, xmm0
jmp 0x4c808a
xor r11d, r11d
jmp 0x4c808a
mov eax, r9d
mov rcx, r8
mov rdx, rdi
mov r10, rbx
mov rbx, rsi
mov rsi, r10
jmp 0x4c7e80
mov eax, r8d
jmp 0x4c7f05
mov rax, r10
mov rcx, r12
call fcn.0046cbe0
nop
call fcn.0046aa00
jmp fcn.004c7ca0