Function at 0x492920
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0xe0]
cmp r12, qword [r14 + 0x10]
jbe 0x4933fe
push rbp
mov rbp, rsp
sub rsp, 0x158
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rcx
test rax, rax
jl 0x4933ea
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x168], rax
mov rdx, qword [rbx + 0x100]
mov rax, rcx
call rdx
mov qword [rsp + 0xb8], rax
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x128], xmm15
mov qword [rsp + 0x118], 0x11
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x130], rcx
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x138], 0x11
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rdx
lea rbx, [0x005b95e0]
lea rax, [0x00814d00]
lea rcx, [rsp + 0x138]
call fcn.00480660
test cl, cl
jne 0x492a99
mov rax, qword [rsp + 0x168]
mov ebx, 0xa
call fcn.0047ddc0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x48], rbx
mov rax, qword [rsp + 0xb8]
nop
call fcn.00488e60
mov ecx, 1
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x48]
lea r8, [0x006e60bc]
mov r9, rcx
mov r10, rax
mov r11, rbx
lea rax, [rsp + 0x90]
lea rbx, [0x006e5020]
call fcn.00451c40
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x70], rbx
call fcn.0048d3c0
mov rcx, qword [rsp + 0xb8]
xor edx, edx
jmp 0x492ac4
mov qword [rsp + 0xf0], rbx
mov rbx, rax
lea rax, [0x005c14c0]
call fcn.0040e420
mov rbx, qword [rsp + 0xf0]
add rsp, 0x158
pop rbp
ret
inc rdx
cmp rbx, rdx
jle 0x492b3f
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x492ac1
mov qword [rsp + 0xc0], rsi
lea rax, [0x005b95e0]
lea rbx, [rsp + 0x118]
call fcn.0040dec0
lea rbx, [0x005b95e0]
mov rcx, rax
lea rdi, [0x005c6c00]
mov rsi, qword [rsp + 0xc0]
lea rax, [0x00814d00]
call fcn.00480820
mov qword [rsp + 0xd0], rbx
mov rcx, rax
lea rax, [0x005c14c0]
mov rbx, rcx
call fcn.0040e420
mov rbx, qword [rsp + 0xd0]
add rsp, 0x158
pop rbp
ret
lea rcx, [0x0059e5c0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], 0
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xe0], rcx
lea rax, [0x005ba120]
call fcn.00410960
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0xe0]
test byte [rcx], al
cmp dword [0x00869300], 0
je 0x492bb5
mov rbx, rax
lea rax, [0x005ba120]
nop dword [rax + rax]
call fcn.004172a0
mov rax, qword [rsp + 0x100]
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 + 0xb8]
movzx r9d, byte [rdx + 0x14]
and r9d, 8
mov byte [rax + 0x14], r9b
mov rbx, qword [rsp + 0x70]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
mov rax, qword [rsp + 0xd8]
call fcn.004020c0
call fcn.00464680
mov rdx, qword [rsp + 0x100]
mov dword [rdx + 0x28], eax
mov r9, qword [rsp + 0xb8]
mov r10d, dword [r9 + 0x10]
xor eax, eax
jmp 0x492c40
imul r10d, r10d, 0x1000193
xor r10d, 0x5b
mov eax, 1
nop dword [rax + rax]
test rax, rax
jle 0x492c2b
mov dword [rdx + 0x10], r10d
mov rax, qword [rsp + 0x168]
mov rcx, rax
jmp 0x492c60
mov dword [rdx + 0x10], esi
shr eax, 8
nop dword [rax]
test eax, eax
jbe 0x492c6e
mov esi, dword [rdx + 0x10]
xor ebx, ebx
jmp 0x4933e0
mov esi, dword [rdx + 0x10]
xor eax, eax
jmp 0x492c83
imul esi, esi, 0x1000193
xor esi, 0x5d
mov eax, 1
test rax, rax
jle 0x492c75
mov dword [rdx + 0x10], esi
cmp dword [0x00869300], 0
je 0x492ca4
call fcn.004688a0
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 0x492cd0
mov rax, 0xffffffffffffffff
mov rbx, rdx
xor edx, edx
div rsi
cmp rax, rcx
jae 0x492cd3
jmp 0x4933b8
mov rbx, rdx
imul rsi, rcx
mov qword [rbx], rsi
test rcx, rcx
jle 0x492cfa
mov rdx, qword [r9 + 8]
test rdx, rdx
je 0x492cfa
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.0048f1a0
lea rcx, [0x006e9c00]
cmp rax, rcx
jne 0x4933a5
test byte [rbx], al
cmp dword [0x00869300], 0
nop
jne 0x492d4c
mov rdx, qword [rsp + 0x100]
jmp 0x492d64
call fcn.004688a0
mov qword [r11], rbx
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x38]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x38], rbx
mov rsi, qword [rsp + 0xb8]
cmp qword [rsi + 8], 0
je 0x492f8c
mov rdi, qword [rdx]
nop
test rdi, rdi
je 0x492f8c
mov r8, qword [rsp + 0x168]
cmp r8, 1
je 0x492f51
movzx r9d, byte [rsi + 0x17]
test r9b, 0x40
jne 0x492e72
cmp rdi, 0x20000
ja 0x492e72
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, [0x00599fe0]
mov rbx, rcx
nop
call fcn.0044dc60
mov qword [rsp + 0xf8], rax
mov rdx, qword [rsp + 0x100]
mov r8, qword [rdx + 0x40]
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
xor edi, edi
mov rsi, qword [rsp + 0xb8]
call fcn.0048ed00
mov rdx, qword [rsp + 0x78]
test rdx, rdx
jbe 0x493399
cmp dword [0x00869300], 0
jne 0x492e39
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
jmp 0x492e59
call fcn.004688a0
mov rcx, qword [rsp + 0xf8]
mov qword [r11], rcx
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x20], rcx
mov rsi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
jmp 0x492fb9
lea rax, [0x0059c2e0]
call fcn.00410960
mov ebx, 4
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
call fcn.0048ee80
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rdx + 8]
shr rsi, 3
mov rdi, qword [rdx]
shr rdi, 3
mov qword [rsp + 0x88], rdi
cmp rdi, rsi
jbe 0x493109
mov qword [rsp + 0x80], rsi
add rbx, 2
cmp rcx, rbx
jae 0x492ef5
mov edi, 2
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov word [rbx + rax - 2], 1
lea r8, [rsi + 1]
cmp rdi, r8
jbe 0x493109
inc rbx
cmp rcx, rbx
jae 0x492f3d
mov edi, 1
lea rsi, [0x00599fe0]
nop dword [rax]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov byte [rbx + rax - 1], 0x81
mov r8, rdi
sub rdi, rsi
lea r9, [rdi - 1]
jmp 0x493320
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 [0x00869300], 0
je 0x492f7e
call fcn.004688a0
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 0x492fb9
cmp dword [0x00869300], 0
je 0x492fa1
mov rcx, qword [rdx + 0x20]
call fcn.00468880
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 [0x00869300], 0
je 0x492fd2
mov rdi, qword [rdx + 0x18]
call fcn.00468880
mov qword [r11], rdi
mov qword [rdx + 0x18], 0
mov rdi, qword [rsi + 0x18]
nop
test rdi, rdi
je 0x493080
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0xe8], rdi
lea rax, [0x005b7ea0]
nop dword [rax]
call fcn.00410960
lea rcx, [0x00493440]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rax + 0x10], rdx
cmp dword [0x00869300], 0
jne 0x493040
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x100]
jmp 0x493064
call fcn.004688c0
mov rdx, qword [rsp + 0xe8]
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rsi, qword [rsp + 0x100]
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 + 0xb8]
mov r8, rcx
nop word [rax + rax]
cmp r8, 1
jne 0x49309b
movzx ecx, byte [rsi + 0x17]
test cl, 0x20
je 0x49309b
movzx ecx, byte [rdx + 0x17]
or ecx, 0x20
mov byte [rdx + 0x17], cl
jmp 0x4930a5
movzx ecx, byte [rdx + 0x17]
and ecx, 0xffffffdf
mov byte [rdx + 0x17], cl
lea rax, [0x005b95e0]
lea rbx, [rsp + 0x118]
call fcn.0040dec0
lea rbx, [0x005b95e0]
mov rcx, rax
lea rdi, [0x005c6c00]
mov rsi, qword [rsp + 0x100]
lea rax, [0x00814d00]
call fcn.00480820
mov qword [rsp + 0xc8], rbx
mov rcx, rax
lea rax, [0x005c14c0]
mov rbx, rcx
call fcn.0040e420
mov rbx, qword [rsp + 0xc8]
add rsp, 0x158
pop rbp
ret
cmp rdi, 0x80
jae 0x49314a
inc rbx
cmp rcx, rbx
jae 0x49313b
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x88]
bts rdi, 7
mov byte [rbx + rax - 1], dil
jmp 0x4931f0
inc rbx
cmp rcx, rbx
jae 0x493175
mov edi, 1
lea rsi, [0x00599fe0]
nop
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x88]
mov byte [rbx + rax - 1], pe_nt_image_headers64
nop
jmp 0x49318e
mov r8, rdi
bts r8, 7
mov byte [rbx + rax - 1], r8b
shr rdi, 7
mov qword [rsp + 0x60], rdi
cmp rdi, 0x80
jb 0x4931c5
inc rbx
nop
cmp rcx, rbx
jae 0x49317d
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x60]
jmp 0x49317d
inc rbx
cmp rcx, rbx
jae 0x4931eb
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x60]
mov byte [rbx + rax - 1], dil
mov r8, qword [rsp + 0x168]
lea r9, [r8 - 1]
jmp 0x49320f
mov r10, r9
bts r10, 7
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x58], r9
cmp r9, 0x80
jb 0x49324d
inc rbx
cmp rcx, rbx
jae 0x4931fe
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x58]
jmp 0x4931fe
inc rbx
cmp rcx, rbx
jae 0x49327b
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x58]
mov byte [rbx + rax - 1], r9b
inc rbx
cmp rcx, rbx
jae 0x4932a9
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov byte [rbx + rax - 1], 0
test rbx, rbx
jbe 0x493305
lea rcx, [rbx - 4]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x100]
movzx esi, byte [rcx + 0x17]
or esi, 0x40
mov byte [rcx + 0x17], sil
cmp dword [0x00869300], 0
je 0x4932e5
call fcn.004688a0
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 + 0xb8]
nop dword [rax + rax]
jmp 0x492fb9
xor eax, eax
mov rcx, rax
call fcn.00468c00
mov r10, r9
bts r10, 7
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x68], r9
cmp r9, 0x80
jb 0x49335e
inc rbx
cmp rcx, rbx
jae 0x49330f
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x68]
jmp 0x49330f
inc rbx
cmp rcx, rbx
jae 0x49338c
mov edi, 1
lea rsi, [0x00599fe0]
call fcn.0044dd40
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x68]
mov byte [rbx + rax - 1], r9b
mov rdi, r8
jmp 0x493109
xor eax, eax
mov rcx, rax
nop
call fcn.00468c00
mov rbx, qword [0x006e9c08]
lea rcx, [0x005c14c0]
call fcn.0040de00
lea rax, [0x00599ca0]
lea rbx, [0x006e6758]
call fcn.0043a620
imul esi, esi, 0x1000193
movzx edi, al
xor esi, edi
mov ebx, 1
nop dword [rax + rax]
test rbx, rbx
jle 0x4933cb
jmp 0x492c56
lea rax, [0x00599ca0]
lea rbx, [0x006e6748]
call fcn.0043a620
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00466980
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00492920