Function at 0x531f40
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov edx, dword [ebx + 8]
sub esp, 0x78
push esi
mov esi, ecx
push edi
test edx, edx
je 0x5321b1
movzx eax, dl
xor eax, 0x811c9dc5
mov edi, dword [edx + 0x7c]
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 8], edi
mov dword [ebp - 4], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 0x58]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004301e0
mov eax, dword [eax + 4]
test eax, eax
jne 0x531fc7
mov eax, dword [edi + 0x5c]
cmp eax, dword [edi + 0x5c]
jne 0x531fe4
mov eax, dword [ebx + 8]
cmp dword [eax + 0x30], 0xf
lea ecx, [eax + 0x1c]
jbe 0x531fda
mov ecx, dword [ecx]
push eax
push ecx
push eax
mov ecx, esi
call fcn.0052f790
cmp dword [edi + 0x44], 0
mov eax, dword [esi]
mov eax, dword [eax + 0xfc]
mov dword [edi + 0x1c], eax
jne 0x532002
mov ecx, dword [esi]
mov edx, edi
call fcn.0052d6d0
mov byte [edi + 0x48], 0
cmp byte [edi + 0x48], 0
je 0x532017
mov ecx, dword [edi + 0x44]
push dword [edi + 0x40]
mov byte [edi + 0x48], 0
mov eax, dword [ecx]
call dword [eax + 0x24]
cmp byte [edi + 0x3c], 0
mov eax, dword [ebx + 8]
mov al, byte [eax + 0xd]
je 0x532067
test al, al
je 0x532047
mov edi, dword [esi + 0x10]
test edi, edi
jne 0x5320a9
mov ecx, dword [esi]
push str.materials_fonts_basefontrgba_depth.json
add ecx, 0x2968
call fcn.004f58c0
mov edi, eax
mov dword [esi + 0x10], edi
jmp 0x5320a9
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5320a9
mov ecx, dword [esi]
push str.materials_fonts_basefontrgba.json
add ecx, 0x2968
call fcn.004f58c0
mov edi, eax
mov dword [esi + 0xc], edi
jmp 0x5320a9
test al, al
je 0x53208b
mov edi, dword [esi + 0x18]
test edi, edi
jne 0x5320a9
mov ecx, dword [esi]
push str.materials_fonts_basefont_depth.json
add ecx, 0x2968
call fcn.004f58c0
mov edi, eax
mov dword [esi + 0x18], edi
jmp 0x5320a9
mov edi, dword [esi + 0x14]
test edi, edi
jne 0x5320a9
mov ecx, dword [esi]
push str.materials_fonts_basefont.json
add ecx, 0x2968
call fcn.004f58c0
mov edi, eax
mov dword [esi + 0x14], edi
mov eax, dword [ebp - 8]
movd xmm4, dword [ebx + 0xc]
cvtdq2ps xmm4, xmm4
mov eax, dword [eax + 0x44]
mov dword [edi + 0x74], eax
mov ecx, dword [esi]
mov eax, dword [ebx + 0x14]
shufps xmm4, xmm4, 0
movq xmm0, qword [eax]
movq qword [ecx + 0xdc], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0xe4], eax
mov eax, dword [esi]
movss xmm0, dword [ebx + 0x18]
movss dword [eax + 0xd8], xmm0
mov eax, dword [esi]
mov ecx, dword [eax]
mov byte [eax + 0x161], 1
lea edx, [ecx + 0x40]
mov dword [eax], edx
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [edx + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
mov ecx, edi
movups xmmword [edx + 0x30], xmm0
mov eax, dword [esi]
movd xmm0, dword [ebx + 0x10]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax]
movups xmm5, xmmword [eax]
movups xmm1, xmmword [eax]
movups xmm3, xmmword [eax + 0x20]
movups xmm2, xmmword [eax + 0x30]
movups xmm6, xmmword [eax + 0x10]
movaps xmmword [ebp - 0x20], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmm7, xmmword [eax + 0x20]
movaps xmmword [ebp - 0x30], xmm5
movaps xmm5, xmmword [ebp - 0x20]
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [eax + 0x10]
shufps xmm5, xmm5, 0
mulps xmm5, xmm0
xorps xmm0, xmm0
mulps xmm4, xmm1
mulps xmm0, xmm3
movaps xmmword [ebp - 0x20], xmm5
movaps xmm1, xmmword [ebp - 0x20]
movaps xmm5, xmmword [ebp - 0x30]
addps xmm1, xmm4
movups xmmword [eax], xmm5
movups xmmword [eax + 0x10], xmm6
addps xmm1, xmm0
movups xmmword [eax + 0x20], xmm7
addps xmm1, xmm2
movups xmmword [eax + 0x30], xmm1
mov al, byte [esi + 0x1c]
mov byte [edi + 0x164], al
call fcn.004f99a0
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, edi
call fcn.004fa700
mov eax, dword [esi]
add dword [eax], 0xffffffc0
mov byte [eax + 0x161], 1
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x14