Function at 0x45fe90
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x563510
push 0x51bf78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov ebx, ecx
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x1d], 0
xorps xmm0, xmm0
movq qword [ebp - 0x88], xmm0
mov word [ebp - 0x80], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x38], ebx
mov edx, dword [0x5c61a4]
mov ecx, 0x811c9dc5
xor esi, esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x2c], ecx
cmp esi, 4
jae 0x45ff05
movzx eax, byte [ebp + esi - 0x38]
xor ecx, eax
mov dword [ebp - 0x2c], ecx
imul ecx, ecx, 0x1000193
inc esi
jmp 0x45fee7
and ecx, dword [0x5c61b8]
mov eax, dword [0x5c61ac]
lea edi, [eax + ecx*8]
mov esi, dword [edi]
mov eax, esi
cmp esi, edx
jne 0x45ff22
mov dword [ebp - 0x40], edx
mov ecx, edx
jmp 0x45ff2a
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
mov dword [ebp - 0x40], ecx
cmp eax, ecx
je 0x45ff3c
cmp dword [eax + 8], ebx
jne 0x45ff38
mov dword [ebp - 0x70], eax
jmp 0x45ff3e
mov eax, dword [eax]
jmp 0x45ff17
mov eax, edx
cmp eax, edx
jne 0x4600d0
mov edi, dword [ebp - 0x24]
mov edx, edi
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x28], edx
cmp ecx, 9
jge 0x45ff65
mov al, byte [edx]
mov byte [ebp + ecx - 0x88], al
inc edx
inc ecx
jmp 0x45ff4d
mov bl, byte [ebp - 0x88]
lea edx, [ebx - 0x20]
mov cl, byte [ebp - 0x87]
cmp dl, 0x5e
ja 0x4600ea
cmp cl, 0x20
jl 0x45ff87
cmp cl, 0x7e
jle 0x45ff95
cmp cl, 0xa
je 0x45ff95
cmp cl, 0xd
jne 0x4600ea
mov al, byte [ebp - 0x86]
cmp al, 0x20
jl 0x45ffa3
cmp al, 0x7e
jle 0x45ffaf
cmp al, 0xa
je 0x45ffaf
cmp al, 0xd
jne 0x4600f0
mov cl, byte [ebp - 0x85]
cmp cl, 0x20
jl 0x45ffc3
cmp cl, 0x7e
jle 0x4600b8
cmp cl, 0xa
je 0x4600b8
cmp cl, 0xd
je 0x4600b8
test cl, cl
jne 0x4602e2
xor edx, edx
mov bl, byte [ebp - 0x81]
mov ch, byte [ebp - 0x82]
mov bh, byte [ebp - 0x83]
mov dword [ebp - 0x4c], edx
cmp edx, dword [0x5b07a4]
jge 0x4602e2
mov eax, dword [edx*8 + 0x5afd38]
sub eax, dword [0x5ab0e8]
add eax, dword [0x5ab0e4]
mov esi, dword [edx*8 + 0x5afd3c]
sub esi, dword [0x5ab0e8]
add esi, dword [0x5ab0e4]
cmp dword [ebp + 8], 0
jne 0x460057
mov edi, dword [edi]
cmp edi, eax
jb 0x460050
cmp edi, esi
jae 0x460050
mov dword [ebp - 4], 0xffffffff
xor al, al
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x24]
cmp dword [ebp + 8], 0
jbe 0x46006a
mov al, byte [edi - 1]
sub al, 0x20
cmp al, 0x5e
ja 0x46006a
mov dword [ebp - 0x24], edi
lea eax, [ebp - 0x24]
jmp 0x4600be
mov al, byte [ebp - 0x84]
cmp al, 0x20
jl 0x460078
cmp al, 0x7e
jle 0x46007d
cmp cl, 0xd
jne 0x4600b2
cmp bh, 0x20
jl 0x460087
cmp bh, 0x7e
jle 0x46008c
cmp cl, 0xd
jne 0x4600b2
cmp ch, 0x20
jl 0x460096
cmp ch, 0x7e
jle 0x46009b
cmp cl, 0xd
jne 0x4600b2
cmp bl, 0x20
jl 0x4600a5
cmp bl, 0x7e
jle 0x4600aa
cmp cl, 0xd
jne 0x4600b2
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x48]
jmp 0x4600be
inc edx
jmp 0x45fff1
mov dword [ebp - 0x50], edi
lea eax, [ebp - 0x50]
push dword [ebp - 0x70]
push eax
lea eax, [ebp - 0x7c]
push eax
mov ecx, 0x5c61a0
call fcn.00461a10
mov dword [ebp - 4], 0xffffffff
mov al, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 0x86]
cmp dl, 0x5e
ja 0x460280
test cl, cl
jne 0x460280
cmp al, 0x20
jl 0x460109
cmp al, 0x7e
jle 0x460115
cmp al, 0xa
je 0x460115
cmp al, 0xd
jne 0x460280
mov dl, byte [ebp - 0x85]
test dl, dl
jne 0x460286
mov al, byte [ebp - 0x84]
cmp al, 0x20
jl 0x460131
cmp al, 0x7e
jle 0x46013d
cmp al, 0xa
je 0x46013d
cmp al, 0xd
jne 0x46025d
cmp byte [ebp - 0x83], 0
jne 0x46025d
mov byte [ebp - 0x1d], 1
lea esi, [edi + 6]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x28], esi
mov al, byte [esi]
test al, al
jne 0x460237
cmp byte [esi + 1], al
jne 0x460237
add esi, 2
mov dword [ebp - 0x28], esi
mov ecx, esi
call fcn.0045cf40
mov esi, eax
mov dword [ebp - 0x28], esi
mov al, byte [esi]
cmp al, 0x20
jl 0x46018d
cmp al, 0x7e
jle 0x460199
cmp al, 0xa
je 0x460199
cmp al, 0xd
jne 0x4602e2
mov dword [ebp - 0x54], esi
mov edx, dword [0x5c61a4]
mov edi, 0x811c9dc5
xor ecx, ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x30], edi
cmp ecx, 4
jae 0x4601c7
movzx eax, byte [ebp + ecx - 0x54]
xor edi, eax
mov dword [ebp - 0x30], edi
imul edi, edi, 0x1000193
inc ecx
jmp 0x4601a9
and edi, dword [0x5c61b8]
mov eax, dword [0x5c61ac]
lea ebx, [eax + edi*8]
mov edi, dword [ebx]
mov eax, edi
nop dword [eax]
cmp edi, edx
jne 0x4601eb
mov dword [ebp - 0x5c], edx
mov ecx, edx
jmp 0x4601f3
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx]
mov dword [ebp - 0x5c], ecx
cmp eax, ecx
je 0x460205
cmp dword [eax + 8], esi
jne 0x460201
mov dword [ebp - 0x78], eax
jmp 0x460207
mov eax, dword [eax]
jmp 0x4601e0
mov eax, edx
cmp eax, edx
jne 0x4602e2
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x60], ebx
push dword [ebp - 0x78]
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x5c61a0
call fcn.00461a10
mov edi, esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x64], edi
inc dword [ebp - 0x34]
mov al, byte [esi]
cmp al, 0x20
jl 0x46023f
cmp al, 0x7e
jle 0x46024b
cmp al, 0xa
je 0x46024b
cmp al, 0xd
jne 0x4602e2
cmp byte [esi + 1], 0
jne 0x4602e2
add esi, 2
jmp 0x46015b
cmp dword [ebp + 8], 0
jbe 0x4602e2
cmp byte [edi - 1], 0
jne 0x4602e2
mov al, byte [edi - 2]
sub al, 0x20
cmp al, 0x5e
ja 0x4602e2
mov dword [ebp - 0x68], edi
push dword [ebp - 0x78]
lea eax, [ebp - 0x68]
jmp 0x4600c1
mov dl, byte [ebp - 0x85]
test bl, bl
jne 0x4602e2
test cl, cl
jne 0x4602e2
cmp al, 0x20
jl 0x460296
cmp al, 0x7e
jle 0x46029e
cmp al, 0xa
je 0x46029e
cmp al, 0xd
jne 0x4602e2
test dl, dl
jne 0x4602e2
mov al, byte [ebp - 0x84]
cmp al, 0x20
jl 0x4602b0
cmp al, 0x7e
jle 0x4602b8
cmp al, 0xa
je 0x4602b8
cmp al, 0xd
jne 0x4602e2
cmp byte [ebp - 0x83], 0
jne 0x4602e2
mov dword [ebp - 0x6c], edi
push dword [ebp - 0x78]
lea eax, [ebp - 0x6c]
jmp 0x4600c1
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x1d]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret