Function at 0x4b8ee0
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0xe0]
cmp r12, qword [r14 + 0x10]
jbe 0x4b9afd
push rbp
mov rbp, rsp
sub rsp, 0x158
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rcx
test rax, rax
jl 0x4b9ae9
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x170], rbx
mov rdx, qword [rbx + 0x138]
mov rax, rcx
call rdx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x140], rcx
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x108], 0x11
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], rdx
lea rbx, [0x005c7520]
lea rax, [0x007553e0]
lea rcx, [rsp + 0x108]
call fcn.004757a0
nop dword [rax]
test cl, cl
je 0x4b8fdf
test rax, rax
je 0x4b9add
mov rcx, qword [0x0074c620]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
jmp 0x4b9a90
mov rax, qword [rsp + 0x168]
mov ebx, 0xa
call fcn.004a9fe0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x68], rbx
nop
mov rax, qword [rsp + 0xe8]
call fcn.004ca5a0
mov ecx, 1
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x68]
lea r8, [0x0062fc48]
mov r9, rcx
mov r10, rax
mov r11, rbx
lea rax, [rsp + 0x48]
lea rbx, [0x005ddd14]
call fcn.0044bba0
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x98], rbx
call fcn.004cc260
mov rcx, qword [rsp + 0xe8]
xor edx, edx
nop
jmp 0x4b9065
inc rdx
cmp rbx, rdx
jle 0x4b9105
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x4b9062
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x140], rcx
lea rax, [0x005c7520]
lea rbx, [rsp + 0x128]
nop
call fcn.0040d1e0
lea rbx, [0x005c7520]
mov rcx, rax
lea rdi, [0x005d7980]
mov rsi, qword [rsp + 0x100]
lea rax, [0x007553e0]
call fcn.00475960
test rax, rax
je 0x4b9a84
mov rcx, qword [0x0074c640]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
jmp 0x4b9a38
lea rcx, [0x005a02c0]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xe0], rcx
lea rax, [0x005c8360]
call fcn.0040f4e0
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0xe0]
test byte [rcx], al
cmp dword [0x0079a690], 0
je 0x4b9176
mov rbx, rax
lea rax, [0x005c8360]
call fcn.004126c0
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
movups xmm0, xmmword [rcx + 0x38]
movups xmmword [rax + 0x38], xmm0
mov rdx, qword [rsp + 0xe8]
movzx r9d, byte [rdx + 0x14]
and r9d, 8
mov byte [rax + 0x14], r9b
nop
mov rbx, qword [rsp + 0x98]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
mov rax, qword [rsp + 0xf0]
call fcn.00401f60
nop
call fcn.00463420
mov rdx, qword [rsp + 0x150]
mov dword [rdx + 0x28], eax
mov r9, qword [rsp + 0xe8]
mov r10d, dword [r9 + 0x10]
xor eax, eax
jmp 0x4b9201
imul r10d, r10d, 0x1000193
xor r10d, 0x5b
mov eax, 1
test rax, rax
jle 0x4b91f1
mov dword [rdx + 0x10], r10d
mov rax, qword [rsp + 0x168]
mov rcx, rax
jmp 0x4b9220
mov dword [rdx + 0x10], esi
shr eax, 8
nop dword [rax]
test eax, eax
jbe 0x4b922e
mov esi, dword [rdx + 0x10]
xor ebx, ebx
jmp 0x4b9a2e
mov esi, dword [rdx + 0x10]
xor eax, eax
jmp 0x4b9243
imul esi, esi, 0x1000193
xor esi, 0x5d
mov eax, 1
test rax, rax
jle 0x4b9235
mov dword [rdx + 0x10], esi
cmp dword [0x0079a690], 0
je 0x4b9264
call fcn.00469a20
mov qword [r11], r9
mov rsi, qword [rdx + 0x30]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x30], r9
mov dword [rdx + 0x2c], 0
mov rsi, qword [r9]
test rsi, rsi
jbe 0x4b9290
mov rax, 0xffffffffffffffff
mov rbx, rdx
xor edx, edx
div rsi
cmp rax, rcx
jae 0x4b9293
jmp 0x4b9a0b
mov rbx, rdx
imul rsi, rcx
mov qword [rbx], rsi
test rcx, rcx
jle 0x4b92ba
mov rdx, qword [r9 + 8]
test rdx, rdx
je 0x4b92ba
mov rsi, qword [r9]
lea rdi, [rcx - 1]
imul rdi, rsi
add rdx, rdi
mov qword [rbx + 8], rdx
movzx edx, byte [r9 + 0x15]
mov byte [rbx + 0x15], dl
movzx edx, byte [r9 + 0x16]
mov byte [rbx + 0x16], dl
mov qword [rbx + 0x40], rcx
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
nop
call fcn.004b56c0
lea rcx, [0x00636798]
cmp rax, rcx
jne 0x4b99f8
test byte [rbx], al
cmp dword [0x0079a690], 0
nop
jne 0x4b930c
mov rdx, qword [rsp + 0x150]
jmp 0x4b9324
call fcn.00469a20
mov qword [r11], rbx
mov rdx, qword [rsp + 0x150]
mov rsi, qword [rdx + 0x38]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x38], rbx
mov rsi, qword [rsp + 0xe8]
cmp qword [rsi + 8], 0
je 0x4b9551
mov rdi, qword [rdx]
nop
test rdi, rdi
je 0x4b9551
mov r8, qword [rsp + 0x168]
cmp r8, 1
jne 0x4b9395
movzx ecx, byte [rdx + 0x17]
movzx edi, byte [rsi + 0x17]
and edi, 0x40
or ecx, edi
mov byte [rdx + 0x17], cl
mov rcx, qword [rsi + 0x20]
cmp dword [0x0079a690], 0
je 0x4b9384
call fcn.00469a20
mov qword [r11], rcx
mov rdi, qword [rdx + 0x20]
mov qword [r11 + 8], rdi
mov qword [rdx + 0x20], rcx
mov rcx, qword [rsi + 8]
mov qword [rdx + 8], rcx
jmp 0x4b9580
movzx r9d, byte [rsi + 0x17]
nop word [rax + rax]
test r9b, 0x40
jne 0x4b9472
cmp rdi, 0x20000
ja 0x4b9472
mov rcx, qword [rdx + 8]
shr rcx, 3
add rcx, 7
shr rcx, 3
add rcx, 7
and rcx, 0xfffffffffffffff8
mov qword [rsp + 0x78], rcx
lea rax, [0x0059b860]
mov rbx, rcx
nop
call fcn.004637e0
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0x150]
mov r8, qword [rdx + 0x40]
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
xor edi, edi
mov rsi, qword [rsp + 0xe8]
call fcn.004b5220
mov rdx, qword [rsp + 0x78]
test rdx, rdx
jbe 0x4b99ee
cmp dword [0x0079a690], 0
jne 0x4b9439
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
jmp 0x4b9459
call fcn.00469a20
mov rcx, qword [rsp + 0x148]
mov qword [r11], rcx
mov rdx, qword [rsp + 0x150]
mov rsi, qword [rdx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x20], rcx
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x168]
jmp 0x4b9580
lea rax, [0x0059fde0]
call fcn.0040f4e0
mov ebx, 4
mov rcx, rbx
mov rdi, qword [rsp + 0xe8]
call fcn.004b53a0
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rdx + 8]
shr rsi, 3
mov rdi, qword [rdx]
shr rdi, 3
mov qword [rsp + 0xa8], rdi
cmp rdi, rsi
jbe 0x4b9734
mov qword [rsp + 0xa0], rsi
add rbx, 2
cmp rcx, rbx
jae 0x4b94f5
mov edi, 2
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov word [rbx + rax - 2], 1
lea r8, [rsi + 1]
cmp rdi, r8
jbe 0x4b9734
inc rbx
cmp rcx, rbx
jae 0x4b953d
mov edi, 1
lea rsi, [0x0059b860]
nop dword [rax]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov byte [rbx + rax - 1], 0x81
mov r8, rdi
sub rdi, rsi
lea r9, [rdi - 1]
jmp 0x4b9968
cmp dword [0x0079a690], 0
je 0x4b9568
mov rcx, qword [rdx + 0x20]
nop
call fcn.00469a00
mov qword [r11], rcx
mov qword [rdx + 0x20], 0
mov qword [rdx + 8], 0
mov r8, qword [rsp + 0x168]
nop
mov rcx, qword [rsi]
cmp dword [0x0079a690], 0
je 0x4b9599
mov rdi, qword [rdx + 0x18]
call fcn.00469a00
mov qword [r11], rdi
mov qword [rdx + 0x18], 0
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x4b9640
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xf8], rdi
lea rax, [0x005c5360]
call fcn.0040f4e0
lea rcx, [0x004b9b40]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
cmp dword [0x0079a690], 0
jne 0x4b9602
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x150]
nop
jmp 0x4b9626
call fcn.00469a40
mov rdx, qword [rsp + 0xf8]
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsi + 0x18]
mov qword [r11 + 0x10], rdi
mov qword [rax + 0x18], rdx
mov qword [rsi + 0x18], rax
mov rdx, rsi
mov rsi, qword [rsp + 0xe8]
mov r8, rcx
nop dword [rax]
cmp r8, 1
jne 0x4b965c
movzx ecx, byte [rsi + 0x17]
nop
test cl, 0x20
je 0x4b965c
movzx ecx, byte [rdx + 0x17]
or ecx, 0x20
mov byte [rdx + 0x17], cl
jmp 0x4b9666
movzx ecx, byte [rdx + 0x17]
and ecx, 0xffffffdf
mov byte [rdx + 0x17], cl
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], r8
lea rax, [0x005c7520]
lea rbx, [rsp + 0x128]
nop dword [rax]
call fcn.0040d1e0
lea rbx, [0x005c7520]
mov rcx, rax
lea rdi, [0x005d7980]
mov rsi, qword [rsp + 0x150]
lea rax, [0x007553e0]
call fcn.00475960
test rax, rax
je 0x4b9728
mov rcx, qword [0x0074c660]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x4b971a
lea rsi, [rdi + 1]
test r8, r8
jne 0x4b96dc
mov qword [rsp + 0xc8], rbx
mov rbx, rax
lea rax, [0x0074c660]
call fcn.0040d3c0
mov rbx, qword [rsp + 0xc8]
jmp 0x4b971f
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x005d1fa0]
call fcn.0040d160
cmp rdi, 0x80
jae 0x4b9777
inc rbx
cmp rcx, rbx
jae 0x4b9766
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xa8]
or rdi, 0x80
mov byte [rbx + rax - 1], dil
jmp 0x4b9825
inc rbx
cmp rcx, rbx
jae 0x4b97a0
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xa8]
mov byte [rbx + rax - 1], pe_nt_image_headers64
nop
jmp 0x4b97bb
mov r8, rdi
or r8, 0x80
mov byte [rbx + rax - 1], r8b
shr rdi, 7
mov qword [rsp + 0x88], rdi
cmp rdi, 0x80
jb 0x4b97f7
inc rbx
cmp rcx, rbx
jae 0x4b97a8
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x88]
jmp 0x4b97a8
inc rbx
cmp rcx, rbx
jae 0x4b9820
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x88]
mov byte [rbx + rax - 1], dil
nop
mov r8, qword [rsp + 0x168]
lea r9, [r8 - 1]
jmp 0x4b9847
mov r10, r9
or r10, 0x80
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x80], r9
cmp r9, 0x80
jb 0x4b9890
inc rbx
nop dword [rax + rax]
cmp rcx, rbx
jae 0x4b9834
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x80]
jmp 0x4b9834
inc rbx
cmp rcx, rbx
jae 0x4b98c1
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x80]
mov byte [rbx + rax - 1], r9b
inc rbx
cmp rcx, rbx
jae 0x4b98ef
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x168]
mov byte [rbx + rax - 1], 0
test rbx, rbx
jbe 0x4b994b
lea rcx, [rbx - 4]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x150]
movzx esi, byte [rcx + 0x17]
or esi, 0x40
mov byte [rcx + 0x17], sil
cmp dword [0x0079a690], 0
je 0x4b9930
nop dword [rax + rax]
call fcn.00469a20
mov qword [r11], rax
mov rsi, qword [rcx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rcx + 0x20], rax
mov rdi, qword [rcx]
mov qword [rcx + 8], rdi
mov rdx, rcx
mov rsi, qword [rsp + 0xe8]
jmp 0x4b9580
xor eax, eax
mov rcx, rax
call fcn.00469dc0
mov r10, r9
or r10, 0x80
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x90], r9
cmp r9, 0x80
jb 0x4b99b0
inc rbx
nop dword [rax]
cmp rcx, rbx
jae 0x4b9955
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x90]
jmp 0x4b9955
inc rbx
cmp rcx, rbx
jae 0x4b99e1
mov edi, 1
lea rsi, [0x0059b860]
call fcn.004638c0
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x90]
mov byte [rbx + rax - 1], r9b
mov rdi, r8
jmp 0x4b9734
xor eax, eax
mov rcx, rax
call fcn.00469dc0
mov rbx, qword [0x006367a0]
lea rcx, [0x005d1fa0]
call fcn.0040d0a0
lea rax, [0x0059b7e0]
lea rbx, [0x006315a0]
call fcn.004622c0
imul esi, esi, 0x1000193
movzx edi, al
xor esi, edi
mov ebx, 1
test rbx, rbx
jle 0x4b9a1e
jmp 0x4b9217
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x4b9a76
lea rsi, [rdi + 1]
test r8, r8
jne 0x4b9a38
mov qword [rsp + 0xd0], rbx
mov rbx, rax
lea rax, [0x0074c640]
call fcn.0040d3c0
mov rbx, qword [rsp + 0xd0]
jmp 0x4b9a7b
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x005d1fa0]
call fcn.0040d160
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
nop
cmp rax, r8
je 0x4b9acf
lea rsi, [rdi + 1]
test r8, r8
jne 0x4b9a90
mov qword [rsp + 0xd8], rbx
mov rbx, rax
lea rax, [0x0074c620]
call fcn.0040d3c0
mov rbx, qword [rsp + 0xd8]
jmp 0x4b9ad4
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x005d1fa0]
call fcn.0040d160
lea rax, [0x0059b7e0]
lea rbx, [0x00631590]
call fcn.004622c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00467ae0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.004b8ee0