Function at 0x5673e0
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x567764
sub esp, 0x30
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00563230
movzx eax, byte [esp + 4]
cmp al, 0x22
jne 0x567419
xor eax, eax
mov ecx, 0x811c9dc5
jmp 0x56749a
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1f], al
mov dword [esp], 0
lea eax, [0x71279d]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
lea eax, [esp + 0x1f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00451c10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov dword [esp], edx
lea edx, [0x70e8bd]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.005632c0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov ebx, dword [edx + 0x18]
jmp 0x5674da
mov dword [esp], edx
call fcn.005635c0
movzx eax, byte [esp + 4]
test al, al
jne 0x567492
jmp 0x5675f7
xchg ebp, eax
movzx eax, al
xchg ebp, eax
xor ecx, ebp
mov ebp, eax
mov eax, 0x1000193
mov esi, edx
mul ecx
imul ebp, ebp, 0x1000193
inc ebx
add ebp, edx
mov edx, esi
mov ecx, eax
mov eax, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
cmp dword [edx + 0x1c], ebx
jle 0x5674a3
mov ebp, dword [edx + 0x10]
cmp ebx, ebp
jae 0x56775a
mov ebp, dword [edx + 0xc]
movzx ebp, byte [ebp + ebx]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
je 0x5675cc
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x567527
lea esi, [ebp - 0x41]
xchg esi, eax
cmp al, 0x19
xchg esi, eax
ja 0x5674b9
mov esi, dword [edx]
movzx esi, byte [esi + 0x50]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5674b9
add ebp, 0x20
jmp 0x5674b9
lea eax, [ebx + 1]
mov dword [edx + 0x18], eax
mov dword [esp], edx
call fcn.00563230
movzx eax, byte [esp + 4]
cmp al, 0x3a
je 0x5675b8
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1f], al
mov dword [esp], 0
lea eax, [0x7127b1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
lea eax, [esp + 0x1f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00451c10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov dword [esp], edx
lea edx, [0x70e8bd]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.005632c0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
add esp, 0x30
ret
mov dword [edx + 0x18], ebx
mov dword [esp], edx
call fcn.005696f0
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
xor esi, esi
jmp 0x567661
mov eax, dword [esp + 0x34]
mov dword [esp], eax
lea eax, [0x70e8bd]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
lea eax, [0x713151]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x15
call fcn.005632c0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
add esp, 0x30
ret
xor ebx, edi
sar edi, 0x1f
xor ebp, edi
mov eax, ebx
mov edi, 0x1000193
mov ebx, edx
mul edi
imul ebp, ebp, 0x1000193
add ebp, edx
mov edx, dword [esp + 0x2c]
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
cmp esi, ecx
jge 0x5676bb
movzx edi, byte [eax + esi]
cmp edi, 0x80
jge 0x56767c
inc esi
jmp 0x5676a4
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0045fba0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
lea eax, [edi - 0x41]
cmp eax, 0x19
ja 0x56763b
mov eax, dword [edx]
movzx eax, byte [eax + 0x50]
test al, al
jne 0x56763b
add edi, 0x20
jmp 0x56763b
mov dword [esp], edx
call fcn.00563230
movzx eax, byte [esp + 4]
cmp al, 0x3a
je 0x567746
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1f], al
mov dword [esp], 0
lea eax, [0x7127b1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
lea eax, [esp + 0x1f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00451c10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov dword [esp], edx
lea edx, [0x70e8bd]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.005632c0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
add esp, 0x30
ret
mov eax, ebx
mov ecx, ebp
call fcn.00468a00
nop
call fcn.00467590
jmp fcn.005673e0