Function at 0x100443c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10130981
mov eax, dword fs:[0]
push eax
mov eax, 0x182c
call fcn.10124820
mov eax, dword [0x103b0024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x103ca8f4]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x182c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x1004475d
mov ecx, dword [0x103ca8f4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x148]
call eax
test al, al
jne 0x1004475d
mov ebx, dword [esi + 0x60]
mov dword [ebp - 0x1828], ebx
test ebx, ebx
je 0x1004475d
mov eax, dword fs:[0x2c]
mov ecx, dword [0x103ca804]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x103caa14]
cmp eax, dword [ecx + 4]
jle 0x100444aa
push 0x103caa14
call fcn.101239ff
add esp, 4
cmp dword [0x103caa14], 0xffffffff
jne 0x100444aa
lea eax, [ebp - 0x1814]
mov dword [ebp - 4], 0
push eax
mov dword [ebp - 0x1814], 0x954e28f3
call fcn.1009a3f0
push 0x103caa14
mov eax, dword [eax + 4]
mov dword [0x103ca9bc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.101239b5
add esp, 4
mov eax, dword [0x103ca9bc]
mov ecx, dword [0x103ca8f8]
mov edx, dword [eax + ebx]
mov eax, dword [ecx]
push edx
call dword [eax + 0x10]
cmp byte [esi + 0x109], 0
mov ecx, eax
jne 0x100444e6
movss xmm0, dword [esi + 0xa4]
ucomiss xmm0, dword [0x103a26c8]
lahf
test ah, 0x44
jp 0x100444e6
test ecx, ecx
jne 0x1004475d
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
call dword [eax + 0x20]
test eax, eax
je 0x1004475d
mov ecx, dword [0x103ca910]
push eax
mov edx, dword [ecx]
call dword [edx + 0x80]
mov esi, eax
mov dword [ebp - 0x1818], esi
test esi, esi
je 0x1004475d
mov ecx, dword [esi + 0x9c]
xor ebx, ebx
mov dword [ebp - 0x1814], ebx
mov dword [ebp - 0x1820], ecx
cmp ecx, ebx
jle 0x1004475d
mov edx, dword [ebp - 0x1820]
xor ecx, ecx
mov dword [ebp - 0x1824], ecx
test ebx, ebx
js 0x100445da
cmp ebx, edx
jge 0x100445da
mov eax, dword [esi + 0xa0]
add eax, ecx
add eax, esi
je 0x100445da
mov ecx, dword [eax]
test ecx, ecx
jne 0x10044566
xor edi, edi
jmp 0x10044569
lea edi, [ecx + eax]
mov ecx, edi
mov eax, 0x811c9dc5
mov dword [ebp - 0x181c], eax
xor edx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044580
sub ecx, esi
je 0x100445c8
mov ebx, dword [ebp - 0x181c]
movsx eax, byte [edx + edi]
mov ecx, edi
xor eax, ebx
imul ebx, eax, 0x1000193
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100445a3
sub ecx, esi
cmp edx, ecx
jb 0x10044591
mov dword [ebp - 0x181c], ebx
cmp dword [ebp - 0x181c], 0xaa70742c
mov ebx, dword [ebp - 0x1814]
je 0x100445fa
mov esi, dword [ebp - 0x1818]
mov edx, dword [ebp - 0x1820]
mov ecx, dword [ebp - 0x1824]
inc ebx
add ecx, 0xd8
mov dword [ebp - 0x1814], ebx
mov dword [ebp - 0x1824], ecx
cmp ebx, edx
jl 0x10044540
jmp 0x1004475d
push 0x1800
lea eax, [ebp - 0x1810]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea esi, [ebp - 0x1810]
mov edi, 0x80
nop dword [eax + eax]
push 0x30
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, 0x30
sub edi, 1
jne 0x10044620
mov ecx, dword [ebp - 0x1828]
mov eax, dword [ecx + 0x2920]
lea eax, [eax + eax*2]
shl eax, 4
push eax
push dword [ecx + 0x2924]
lea eax, [ebp - 0x1810]
push eax
call sub.VCRUNTIME140.dll_memcpy
lea esi, [ebx + ebx*2]
add esp, 8
add esi, esi
movss xmm0, dword [ebp + esi*8 - 0x17e0]
movss dword [ebp - 0x1828], xmm0
movss xmm0, dword [ebp + esi*8 - 0x17dc]
fld dword [ebp - 0x1828]
movss dword [ebp - 0x1814], xmm0
movss xmm0, dword [ebp + esi*8 - 0x17d8]
fstp dword [esp]
movss dword [ebp - 0x1818], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jne 0x100446dd
fld dword [ebp - 0x1814]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jne 0x100446dd
fld dword [ebp - 0x1818]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
je 0x1004475d
movss xmm2, dword [ebp + esi*8 - 0x17d8]
mov eax, dword [ebp - 0x182c]
addss xmm2, dword [0x103a27a8]
movss xmm3, dword [eax + 8]
comiss xmm3, xmm2
jbe 0x1004475d
movaps xmm0, xmm3
subss xmm0, xmm2
call fcn.10002260
subss xmm0, dword [0x103a2800]
xorps xmm4, xmm4
divss xmm0, dword [0x103a2808]
comiss xmm0, xmm4
jb 0x1004472e
movss xmm4, dword [0x103a2784]
minss xmm4, xmm0
movaps xmm0, xmm4
subss xmm2, xmm3
mulss xmm0, xmm4
movaps xmm1, xmm0
addss xmm0, xmm0
mulss xmm1, dword [0x103a27e8]
mulss xmm0, xmm4
subss xmm1, xmm0
mulss xmm1, xmm2
addss xmm1, xmm3
movss dword [eax + 8], xmm1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101238be
mov esp, ebp
pop ebp
ret 8