Function at 0x100400b0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10053150
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x34
push esi
mov eax, dword [0x1006c8c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 0x1c]
lea ecx, [ebx + 8]
cmp esi, 0xf
mov dword [ebp - 4], 0
mov byte [ebp - 0x11], 0
cmova ecx, dword [ebx + 8]
mov al, byte [ecx]
test al, al
je 0x10040125
movsx eax, al
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
push eax
lea eax, [ecx + 1]
push eax
call fcn.10043f60
add esp, 8
jmp 0x1004012a
mov eax, 0x811c9dc5
cmp dword [0x100a42b4], eax
movss xmm2, dword [0x1006c508]
movss xmm4, dword [0x1006c518]
sete byte [ebp - 0x12]
movss xmm3, dword [0x1006c50c]
cvttss2si eax, xmm2
cvttss2si ecx, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x1004020a
movss xmm1, dword [0x1006c51c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004020a
add eax, 0xfe
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm4
jbe 0x1004020a
lea eax, [ecx + 0xf]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1004020a
cmp byte [0x100a3cc4], 0
jne 0x1004020a
cmp byte [0x100a4089], 0
je 0x1004020a
cmp byte [0x100a4189], 0
jne 0x1004020a
cmp byte [ebx + 0x20], 0
movss dword [0x1006c534], xmm2
movss dword [0x1006c538], xmm3
jne 0x100401d3
mov byte [ebp - 0x11], 1
jmp 0x1004020a
cmp esi, 0xf
lea eax, [ebx + 8]
push 0x811c9dc5
cmova eax, dword [ebx + 8]
push eax
call fcn.10043f60
movss xmm2, dword [0x1006c508]
add esp, 8
movss xmm3, dword [0x1006c50c]
mov dword [0x100a42b4], eax
mov dword [0x100a3cc8], 8
cvttss2si eax, dword [0x100a3cc0]
mov ecx, dword [0x100a433c]
sub esp, 0x10
mov dword [ebp - 0x2c], 0x19
mov dword [ebp - 0x28], 0x19
mov dword [ebp - 0x24], 0x19
mov dword [ebp - 0x30], eax
mov eax, esp
movups xmm0, xmmword [ebp - 0x30]
sub esp, 0x10
movups xmmword [eax], xmm0
mov dword [esp + 0xc], 0x41700000
mov dword [esp + 8], 0x437e0000
movss dword [esp + 4], xmm3
movss dword [esp], xmm2
call fcn.1004cbf0
cmp byte [ebp - 0x11], 0
jne 0x10040282
cmp byte [ebp - 0x12], 0
jne 0x10040282
mov dword [ebp - 0x2c], 0x3c
mov dword [ebp - 0x28], 0x3c
mov dword [ebp - 0x24], 0x3c
jmp 0x10040297
mov dword [ebp - 0x2c], 0x64
mov dword [ebp - 0x28], 0x64
mov dword [ebp - 0x24], 0x64
cvttss2si eax, dword [0x100a3cc0]
sub esp, 0x10
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, esp
movups xmm0, xmmword [ecx]
mov ecx, dword [0x100a433c]
sub esp, 0x10
movups xmmword [eax], xmm0
movss xmm0, dword [0x1006c50c]
mov dword [esp + 0xc], 0x41700000
mov dword [esp + 8], 0x437e0000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1006c508]
movss dword [esp], xmm0
call fcn.1004cce0
cmp byte [ebp - 0x11], 0
cvttss2si eax, dword [0x100a3cc0]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x40], eax
jne 0x1004032c
cmp byte [ebp - 0x12], 0
jne 0x1004032c
mov dword [ebp - 0x2c], 0x64
mov dword [ebp - 0x28], 0x64
mov dword [ebp - 0x24], 0x64
jmp 0x10040341
mov dword [ebp - 0x2c], 0xc8
mov dword [ebp - 0x28], 0xc8
mov dword [ebp - 0x24], 0xc8
movss xmm0, dword [0x1006c50c]
lea ecx, [ebp - 0x30]
addss xmm0, dword [0x10058c40]
mov dword [ebp - 0x30], eax
sub esp, 0x10
mov eax, dword [0x100a433c]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x1006c508]
addss xmm0, dword [0x1005eef8]
mov esi, dword [eax + 0x20]
mov eax, esp
push 1
push 1
sub esp, 0x10
movss dword [ebp - 0x1c], xmm0
movups xmm0, xmmword [ebp - 0x40]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
movups xmmword [eax], xmm0
lea eax, [ebx + 8]
push eax
call fcn.10002ba0
movss xmm0, dword [ebp - 0x18]
mov ecx, dword [0x100a433c]
push esi
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
call fcn.1004ce10
cmp byte [ebp - 0x12], 0
je 0x100404c0
cvttss2si esi, dword [0x1006c534]
mov byte [0x100a3cc4], 1
movss xmm0, dword [0x1006c538]
addss xmm0, dword [0x1005eed8]
movss xmm2, dword [0x1006c518]
movss xmm1, dword [0x1006c51c]
movd xmm3, esi
cvtdq2ps xmm3, xmm3
cvttss2si edx, xmm0
comiss xmm2, xmm3
jbe 0x10040468
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10040468
lea ecx, [esi + 0xfe]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x10040468
lea eax, [edx + 0xf]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10040468
cmp byte [0x100a4089], 0
je 0x1004046e
cmp byte [0x100a4189], 0
jne 0x1004046e
mov byte [ebp - 0x11], 1
mov dword [0x100a3cc8], 0
mov dword [0x100a42b4], 0
jmp 0x1004046e
lea ecx, [esi + 0xfe]
comiss xmm2, xmm3
jbe 0x1004049a
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004049a
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1004049a
lea eax, [edx + 0xf]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x100404c0
cmp byte [0x100a4089], 0
je 0x100404c0
cmp byte [0x100a4189], 0
jne 0x100404c0
mov dword [0x100a3cc8], 0
mov dword [0x100a42b4], 0
movss xmm0, dword [0x1006c50c]
addss xmm0, dword [0x1005eee0]
mov ecx, dword [ebx + 0x1c]
movss dword [0x1006c50c], xmm0
cmp ecx, 0xf
jbe 0x1004050e
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10040504
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10040504
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004e65b
add esp, 8
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret