Function at 0x100d7000
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc4
mov dword [esp + 4], ecx
mov ecx, dword [0x10159260]
push ebx
push ebp
push esi
mov eax, dword [ecx + 0x1b94]
mov ebx, edx
push edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x88], ecx
mov byte [eax + 0x8c], 1
mov esi, dword [ecx + 0x1b94]
cmp byte [esi + 0x8f], 0
jne 0x100d7b3f
mov edx, dword [esp + 0xd8]
mov ecx, ebx
call fcn.100ecd20
mov ecx, dword [esp + 0xdc]
mov ebp, eax
movzx edx, word [ecx + 2]
mov ecx, edx
mov eax, edx
mov dword [esp + 0x2c], ecx
movzx ecx, dl
xor ecx, 0x811c9dc5
shr eax, 8
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp + 0x20]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.100ceda0
mov edi, dword [eax + 4]
test edi, edi
jne 0x100d709e
mov edi, dword [ebp + 0x24]
cmp edi, dword [ebp + 0x24]
mov ebp, dword [0x10159260]
mov ebx, ebp
movss xmm3, dword [0x10150d6c]
movss xmm0, dword [ebx + 0x1930]
je 0x100d70d1
mov edi, dword [edi + 0xc]
mov dword [esp + 0x10], ebx
movss dword [esp + 0x20], xmm0
test edi, edi
jne 0x100d70da
xorps xmm2, xmm2
jmp 0x100d7127
mov edi, 0x10136c92
mov dword [esp + 0x10], ebp
push 0
push 0
push edi
push ecx
mov ecx, dword [ebx + 0x192c]
lea eax, [esp + 0x34]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.1005aba0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [0x10150bdc]
movss xmm3, dword [0x10150d6c]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x20], xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov ecx, dword [esp + 0x14]
xorps xmm1, xmm1
mov edx, dword [esp + 0xdc]
add ecx, 0x5c
movss dword [esp + 0x60], xmm2
movss dword [esp + 0xa8], xmm2
movss dword [esp + 0xac], xmm0
call fcn.100cf960
movss xmm0, dword [ebx + 0x1930]
mov ebx, dword [esp + 0x10]
movss dword [esp + 0x1c], xmm0
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100d71b6
push 0
push 0
push eax
push ecx
mov ecx, dword [ebx + 0x192c]
lea eax, [esp + 0x34]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.1005aba0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [0x10150bdc]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x1c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov ebx, dword [ebx + 0x1b94]
xor edx, edx
add ebx, 0xc0
movss dword [esp + 0x68], xmm1
movss dword [esp + 0xa0], xmm1
movss dword [esp + 0xa4], xmm0
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.10040740
mov ecx, dword [ebx]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
cmp ecx, eax
jne 0x100d7220
inc ecx
test eax, eax
je 0x100d7208
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebx + 4]
jmp 0x100d720d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, ebx
call fcn.10052950
mov ebp, dword [0x10159260]
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
xor edx, edx
inc dword [ebx]
mov ebx, dword [ebp + 0x1b94]
add ebx, 0xc0
mov dword [esp + 0x10], ebx
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], ecx
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x30]
call fcn.10040740
mov ebx, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
cmp ecx, ebx
jne 0x100d7293
inc ecx
test ebx, ebx
je 0x100d7275
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100d727a
mov eax, 8
mov ebx, dword [esp + 0x10]
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, ebx
call fcn.10052950
mov ebp, dword [0x10159260]
jmp 0x100d7297
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x40]
push 0
mov dword [eax + ecx*4], edx
mov ecx, esi
inc dword [ebx]
call fcn.10043110
mov ecx, dword [ebp + 0x1b94]
mov ebx, eax
movss xmm1, dword [esp + 0x20]
mov dword [esp + 0x70], ebx
dec dword [ecx + 0xc0]
mov ecx, dword [ebp + 0x1b94]
mov ebp, dword [esp + 0xe0]
dec dword [ecx + 0xc0]
lea ecx, [esp + 0x24]
maxss xmm1, dword [ebp + 4]
maxss xmm1, dword [esp + 0x1c]
movaps xmm0, xmm1
movss dword [esp + 0x20], xmm1
mulss xmm0, dword [0x10150b60]
movss dword [esp + 0x28], xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm7, xmm0
movss dword [esp + 0x1c], xmm0
addss xmm7, xmm0
movaps xmm0, xmm7
addss xmm0, dword [ebp]
addss xmm0, dword [esp + 0x60]
addss xmm0, dword [esp + 0x68]
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esi + 0xcc]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esi + 0xd0]
movss dword [esp + 0x84], xmm0
addss xmm0, dword [esi + 0x104]
movss dword [esp + 0x14], xmm0
xorps xmm0, xmm0
call fcn.1004c540
movss xmm3, dword [esp + 0x14]
movss xmm0, dword [esp + 0x10]
movaps xmm6, xmm3
movss xmm5, dword [esp + 0x1c]
movaps xmm1, xmm0
addss xmm1, dword [ebp]
movss dword [esp + 0x48], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebp + 4]
movss xmm4, dword [esp + 0x20]
movss xmm2, dword [esp + 0x1c]
addss xmm6, xmm4
movss dword [esp + 0x98], xmm1
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x9c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10150c60]
addss xmm1, dword [0x10150c80]
movss dword [esp + 0xb4], xmm3
movss dword [esp + 0x64], xmm6
addss xmm0, xmm5
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x10150b98]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm3
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm5
addss xmm0, xmm5
movss xmm5, dword [esp + 0x60]
addss xmm0, xmm1
addss xmm5, xmm0
movss dword [esp + 0xb0], xmm0
movss dword [esp + 0x60], xmm5
addss xmm5, dword [0x10150c60]
movss dword [esp + 0x80], xmm5
mov ebp, dword [esp + 0x88]
addss xmm2, xmm3
movaps xmm0, xmm4
movss dword [esp + 0xc4], xmm3
subss xmm0, xmm7
movss dword [esp + 0x6c], xmm6
movaps xmm1, xmm5
movss xmm7, dword [esp + 0x10]
addss xmm5, dword [0x10150c64]
movss xmm3, dword [ebp + 0x1560]
lea ecx, [esp + 0x30]
movss xmm4, dword [ebp + 0x1564]
mov edx, ebx
addss xmm0, xmm2
movss dword [esp + 0x84], xmm2
addss xmm1, dword [0x10150be4]
movss dword [esp + 0xc0], xmm5
push 0
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0x6c]
addss xmm0, xmm5
movss dword [esp + 0xbc], xmm1
movss xmm5, dword [esi + 0x21c]
subss xmm5, xmm7
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x10150b98]
maxss xmm5, dword [esp + 0x44]
cvttss2si eax, xmm0
movaps xmm0, xmm4
addss xmm5, xmm7
mulss xmm0, dword [0x10150b98]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, eax
movaps xmm0, xmm7
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
subss xmm3, xmm2
subss xmm4, xmm1
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm3, xmm5
subss xmm0, xmm1
addss xmm4, xmm6
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x40], xmm4
call fcn.1004c670
test al, al
je 0x100d7b3f
movss xmm0, dword [esp + 0x38]
lea eax, [esp + 0x1b]
subss xmm0, dword [0x10150cf4]
movss xmm1, dword [esp + 0x30]
lea ecx, [esp + 0x88]
push 0
push eax
movss dword [esp + 0x90], xmm1
lea eax, [esp + 0x22]
movss xmm1, dword [esp + 0x3c]
mov edx, ebx
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x44]
push eax
movss dword [esp + 0x98], xmm1
movss dword [esp + 0xa0], xmm0
call fcn.10062610
mov al, byte [esp + 0x1a]
test al, al
je 0x100d7646
cmp byte [esp + 0x1b], 0
je 0x100d75ca
mov ebx, 0x1a
jmp 0x100d75d4
xor ebx, ebx
test al, al
setne bl
add ebx, 0x18
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
movss xmm0, dword [0x10150be4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
mov eax, dword [0x10159260]
push 0
push ecx
mov dword [esp + 0x94], ecx
mov ecx, ebx
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x1b94]
mov dword [esp], 0
call fcn.10041580
mov ecx, dword [edx + 0x288]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10058240
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x30]
push 0xa
call fcn.100427a0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x50]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.100d95c0
mov ebx, eax
test ebx, ebx
je 0x100d7802
mov ecx, dword [esi + 0x288]
lea eax, [esp + 0x50]
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x58], 0x3f800000
push eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x60], 0x3f800000
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x80], 0
push eax
push ebx
mov dword [esp + 0x8c], 0
call fcn.100588e0
cmp dword [ebp + 0x1b98], esi
jne 0x100d7802
mov ecx, dword [0x10159260]
mov eax, dword [esp + 0xe0]
movss xmm3, dword [esp + 0x30]
movss xmm1, dword [ecx + 0x1578]
addss xmm3, dword [eax]
mov eax, dword [ecx + 0x1b94]
movss xmm0, dword [ecx + 0x157c]
movss xmm2, dword [eax + 0x234]
maxss xmm2, dword [esp + 0x30]
minss xmm3, dword [eax + 0x23c]
movss xmm4, dword [eax + 0x238]
movss xmm5, dword [eax + 0x240]
maxss xmm4, dword [esp + 0x34]
minss xmm5, dword [esp + 0x3c]
subss xmm2, xmm1
addss xmm3, xmm1
movss xmm1, dword [ecx + 0xe4]
subss xmm4, xmm0
addss xmm5, xmm0
comiss xmm1, xmm2
jb 0x100d7802
movss xmm0, dword [ecx + 0xe8]
comiss xmm0, xmm4
jb 0x100d7802
comiss xmm3, xmm1
jbe 0x100d7802
comiss xmm5, xmm0
jbe 0x100d7802
xor edx, edx
xor ecx, ecx
call fcn.1004d4f0
mov edx, dword [esp + 0xe4]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x54], 0
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x78], 0x3f800000
push eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x60], 0
push eax
mov ecx, ebx
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x68], 0
mov dword [esp + 0x88], 0x3f800000
mov dword [esp + 0x6c], 0
mov dword [esp + 0x8c], 0x3f800000
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x5c], 0x3f800000
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
call fcn.10063f00
call fcn.1004bc10
mov ebp, dword [esp + 0xe8]
mov ebx, 0x78
movss xmm1, dword [esp + 0x1c]
and ebp, 0xff000000
mov ecx, dword [esi + 0x288]
cmp ebp, ebx
movaps xmm2, xmm1
mov dword [esp + 0x50], ecx
addss xmm2, dword [0x10150be4]
cmovb ebx, ebp
xorps xmm0, xmm0
shl ebx, 0x18
test ebx, ebx
je 0x100d7873
comiss xmm0, xmm2
jae 0x100d7873
push 0xb
push 0
lea eax, [esp + 0x2c]
push eax
call fcn.10057950
push ebx
mov ebx, dword [esp + 0x54]
mov ecx, ebx
push dword [ebx + 0x54]
push dword [ebx + 0x5c]
call fcn.10057230
movss xmm1, dword [esp + 0x1c]
xorps xmm0, xmm0
mov dword [ebx + 0x54], 0
mov ebx, dword [esi + 0x288]
test ebp, ebp
je 0x100d78b0
comiss xmm0, xmm1
jae 0x100d78b0
push 0xb
push 0
lea eax, [esp + 0x2c]
movaps xmm2, xmm1
push eax
mov ecx, ebx
call fcn.10057950
push dword [esp + 0xe8]
mov ecx, ebx
push dword [ebx + 0x54]
push dword [ebx + 0x5c]
call fcn.10057230
mov dword [ebx + 0x54], 0
lea eax, [esp + 0x30]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], 0x3f000000
push eax
lea eax, [esp + 0xb0]
push eax
push 0
push edi
lea edx, [esp + 0x74]
lea ecx, [esp + 0xc4]
call fcn.10041e40
mov ebx, dword [esp + 0x2c]
cmp byte [ebx], 0
je 0x100d7923
movss xmm0, dword [0x10150be4]
push 0
push ecx
xor ecx, ecx
mov dword [esp], 0
call fcn.10041580
mov ecx, dword [esi + 0x288]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.10058240
lea eax, [esp + 0x30]
mov dword [esp + 0x80], 0
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0x88], 0x3f000000
push eax
lea eax, [esp + 0xa8]
push eax
push 0
push ebx
lea edx, [esp + 0x7c]
lea ecx, [esp + 0xd4]
call fcn.10041e40
mov edi, dword [esp + 0xec]
test edi, edi
je 0x100d7a58
movss xmm0, dword [esi + 0xd0]
movss xmm1, dword [0x10150da0]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esi + 0x21c]
subss xmm0, dword [esp + 0x10]
subss xmm0, dword [0x10150cf4]
call fcn.1004c840
mov eax, dword [0x10159260]
mov edx, 4
movss xmm0, dword [esp + 0x20]
mov ecx, 0x10136c92
movss xmm2, dword [esi + 0xd0]
push 0
movss xmm1, dword [eax + 0x1554]
addss xmm1, xmm1
movss dword [esp + 0x8c], xmm2
push 0x1013d920
mov dword [esp + 0x58], 0x64
mov dword [esp + 0x78], 1
addss xmm1, dword [eax + 0x1930]
subss xmm0, xmm1
mulss xmm0, dword [0x10150b98]
addss xmm0, xmm2
movss dword [esi + 0xd0], xmm0
or dword [eax + 0x1c78], 1
mov dword [eax + 0x1c7c], 0x42a00000
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x7c]
push eax
push edi
call fcn.10068c10
mov eax, dword [edi]
mov ecx, 1
movss xmm0, dword [esp + 0x88]
cmp eax, ecx
cmovl eax, ecx
mov dword [edi], eax
movss dword [esi + 0xd8], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esi + 0xd0], xmm0
movss xmm0, dword [esi + 0xd0]
movss xmm1, dword [0x10150da0]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esi + 0x21c]
subss xmm0, dword [esp + 0x10]
subss xmm0, dword [0x10150ccc]
call fcn.1004c840
mov eax, dword [0x10159260]
lea edx, [esp + 0xa0]
movss xmm2, dword [esp + 0x20]
mov ecx, 0x10147fd8
movss xmm1, dword [esi + 0xd0]
push 0
movss xmm0, dword [eax + 0x1554]
addss xmm0, xmm0
movss dword [esp + 0x54], xmm1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
addss xmm0, dword [eax + 0x1930]
subss xmm2, xmm0
mulss xmm2, dword [0x10150b98]
addss xmm2, xmm1
movss dword [esi + 0xd0], xmm2
call fcn.10062c40
movss xmm0, dword [esp + 0x50]
mov bl, al
movss dword [esi + 0xd8], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esi + 0xd0], xmm0
test bl, bl
je 0x100d7b30
test dword [esi + 8], 0x4000000
je 0x100d7b30
test byte [esi + 0x1b0], 0x20
jne 0x100d7b30
call fcn.1004d960
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret 0x18
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xc4
ret 0x18