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

Disassembly:
sub esp, 0xcc
mov dword [esp + 0x18], ecx
mov ecx, dword [0x101541b4]
push ebx
push ebp
push esi
mov eax, dword [ecx + 0x1b94]
mov ebx, edx
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], ecx
mov byte [eax + 0x8c], 1
mov ebp, dword [ecx + 0x1b94]
cmp byte [ebp + 0x8f], 0
jne 0x100d21e6
mov edx, dword [esp + 0xe0]
mov ecx, ebx
call fcn.100e72b0
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x14], eax
lea esi, [eax + 0x20]
movzx edx, word [edi + 2]
mov ecx, edx
mov eax, edx
mov dword [esp + 0x54], ecx
movzx ecx, dl
xor ecx, 0x811c9dc5
shr eax, 8
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.100da6a0
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x100d173f
mov ebx, dword [esi + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [0x101541b4]
mov esi, ecx
movss xmm2, dword [0x1014b344]
movss xmm0, dword [ecx + 0x1930]
cmp ebx, dword [eax + 0x24]
je 0x100d1790
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x2c], esi
movss dword [esp + 0x24], xmm0
test ebx, ebx
jne 0x100d17a0
xorps xmm1, xmm1
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x58], xmm1
mov dword [esp + 0x84], ebx
jmp 0x100d1807
mov ebx, 0x101314de
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x84], ebx
push 0
push 0
push ebx
push ecx
mov ecx, dword [ecx + 0x192c]
lea eax, [esp + 0x44]
mov dword [esp], 0xbf800000
movaps xmm3, xmm2
push eax
movaps xmm2, xmm0
call fcn.10057ee0
movss xmm0, dword [esp + 0x34]
xorps xmm1, xmm1
addss xmm0, dword [0x1014b1ac]
movss xmm2, dword [0x1014b344]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esi + 0x1930]
mov ecx, dword [esp + 0x5c]
mov edx, edi
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x5c
movss dword [esp + 0x18], xmm0
mov dword [esp + 0xb0], eax
call fcn.100ca450
mov esi, dword [eax]
mov dword [esp + 0x14], esi
test esi, esi
jne 0x100d1843
movss dword [esp + 0x40], xmm1
jmp 0x100d1895
push 0
push 0
push esi
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x44]
mov dword [esp], 0xbf800000
movaps xmm3, xmm2
push eax
movaps xmm2, xmm0
mov ecx, dword [ecx + 0x192c]
call fcn.10057ee0
movss xmm0, dword [esp + 0x34]
addss xmm0, dword [0x1014b1ac]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x18], xmm0
mov eax, dword [esp + 0x40]
movss dword [esp + 0x44], xmm0
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xcc], ecx
mov ecx, ebx
mov dword [esp + 0xc8], eax
call fcn.10049410
mov ecx, esi
call fcn.10049410
push 0
mov ecx, ebp
call fcn.1003ffa0
mov edx, dword [0x101541b4]
movss xmm1, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov ecx, dword [edx + 0x1b94]
dec dword [ecx + 0xc0]
mov ecx, dword [edx + 0x1b94]
dec dword [ecx + 0xc0]
mov ecx, dword [esp + 0xe8]
maxss xmm1, dword [ecx + 4]
maxss xmm1, dword [esp + 0x18]
movaps xmm0, xmm1
movss dword [esp + 0x24], xmm1
mulss xmm0, dword [0x1014b130]
movss dword [esp + 0x38], xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm7, xmm0
movss dword [esp + 0x28], xmm0
addss xmm7, xmm0
movaps xmm0, xmm7
addss xmm0, dword [ecx]
lea ecx, [esp + 0x34]
addss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x34], xmm0
movss xmm0, dword [ebp + 0xcc]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ebp + 0xd0]
addss xmm0, dword [ebp + 0x104]
movss dword [esp + 0x54], xmm0
xorps xmm0, xmm0
call fcn.10049520
movss xmm4, dword [esp + 0x54]
movss xmm0, dword [esp + 0x18]
movaps xmm6, xmm4
mov eax, dword [esp + 0xe8]
movaps xmm1, xmm0
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmm4
movss xmm5, dword [esp + 0x24]
addss xmm6, xmm5
movss dword [esp + 0x80], xmm4
addss xmm0, dword [eax + 4]
addss xmm1, dword [eax]
movss dword [esp + 0xa4], xmm4
movss dword [esp + 0xbc], xmm6
movss dword [esp + 0x8c], xmm0
movaps xmm0, xmm1
movss dword [esp + 0x88], xmm1
addss xmm0, dword [0x1014b238]
addss xmm1, dword [0x1014b258]
addss xmm0, dword [esp + 0x28]
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm5
mulss xmm0, dword [0x1014b168]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm4
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x28]
movaps xmm3, xmm0
addss xmm3, xmm0
addss xmm3, xmm1
movss dword [esp + 0xa0], xmm3
addss xmm3, dword [esp + 0x58]
movss dword [esp + 0xb8], xmm3
addss xmm3, dword [0x1014b238]
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x6c]
movaps xmm2, xmm0
movss dword [esp + 0xac], xmm4
movaps xmm0, xmm5
mov edx, dword [esp + 0x2c]
subss xmm0, xmm7
movss dword [esp + 0x9c], xmm6
movaps xmm1, xmm3
movss dword [esp + 0x90], xmm3
addss xmm3, dword [0x1014b23c]
addss xmm2, xmm4
movss xmm7, dword [esp + 0x18]
movss xmm4, dword [eax + 0x1564]
addss xmm1, dword [0x1014b1b4]
push 0
movss dword [esp + 0xac], xmm3
addss xmm3, dword [esp + 0x44]
addss xmm0, xmm2
movss xmm5, dword [ebp + 0x21c]
movss dword [esp + 0x98], xmm2
subss xmm5, xmm7
movss dword [esp + 0xc4], xmm1
movss dword [esp + 0x9c], xmm3
movss xmm3, dword [eax + 0x1560]
movss dword [esp + 0xc8], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1014b168]
maxss xmm5, dword [esp + 0x40]
cvttss2si eax, xmm0
movaps xmm0, xmm4
addss xmm5, xmm7
mulss xmm0, dword [0x1014b168]
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 + 0x70], xmm0
movss xmm0, dword [esp + 0x58]
addss xmm3, xmm5
subss xmm0, xmm1
addss xmm4, xmm6
movss dword [esp + 0x78], xmm3
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x7c], xmm4
call fcn.10049650
test al, al
je 0x100d21e6
movss xmm0, dword [esp + 0x74]
lea eax, [esp + 0x1f]
subss xmm0, dword [0x1014b2cc]
movss xmm1, dword [esp + 0x6c]
lea ecx, [esp + 0x40]
mov edx, dword [esp + 0x2c]
push 0
push eax
movss dword [esp + 0x48], xmm1
lea eax, [esp + 0x26]
movss xmm1, dword [esp + 0x78]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x80]
push eax
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x58], xmm0
call fcn.1005fbc0
cmp byte [esp + 0x1e], 0
je 0x100d1c46
mov eax, dword [esp + 0x74]
xor ebx, ebx
cmp byte [esp + 0x1f], bl
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
setne bl
movss xmm0, dword [0x1014b1b4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x58], eax
mov eax, dword [0x101541b4]
push 0
push ecx
mov dword [esp + 0x4c], ecx
lea ecx, [ebx + 0x19]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0x1b94]
mov dword [esp], 0
call fcn.1003e600
mov ecx, dword [edx + 0x288]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.100553d0
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x6c]
push 0xa
call fcn.1003f640
mov ebx, dword [esp + 0x84]
push dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
push dword [edi + 8]
call fcn.100d4330
mov edi, eax
test edi, edi
je 0x100d1df9
mov ecx, dword [ebp + 0x288]
lea eax, [esp + 0x40]
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x48], 0x3f800000
push eax
lea eax, [esp + 0x94]
mov dword [esp + 0x50], 0x3f800000
push eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x68], 0
push eax
push edi
mov dword [esp + 0x74], 0
call fcn.10055b70
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x1b98], ebp
jne 0x100d1df9
mov ecx, dword [esp + 0xe8]
movss xmm2, dword [esp + 0x6c]
movaps xmm3, xmm2
addss xmm3, dword [ecx]
mov ecx, dword [0x101541b4]
mov eax, dword [ecx + 0x1b94]
movss xmm1, dword [ecx + 0x1578]
movss xmm0, dword [ecx + 0x157c]
maxss xmm2, dword [eax + 0x234]
minss xmm3, dword [eax + 0x23c]
movss xmm4, dword [eax + 0x238]
movss xmm5, dword [eax + 0x240]
maxss xmm4, dword [esp + 0x70]
minss xmm5, dword [esp + 0x78]
subss xmm2, xmm1
addss xmm3, xmm1
movss xmm1, dword [ecx + 0xe4]
subss xmm4, xmm0
addss xmm5, xmm0
comiss xmm1, xmm2
jb 0x100d1df9
movss xmm0, dword [ecx + 0xe8]
comiss xmm0, xmm4
jb 0x100d1df9
comiss xmm3, xmm1
jbe 0x100d1df9
comiss xmm5, xmm0
jbe 0x100d1df9
xor edx, edx
xor ecx, ecx
call fcn.1004a4d0
mov edx, dword [esp + 0xec]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0x60], 0x3f800000
push eax
lea eax, [esp + 0x94]
mov dword [esp + 0x50], 0
push eax
mov ecx, edi
mov dword [esp + 0x6c], 0x3f800000
mov dword [esp + 0x58], 0
mov dword [esp + 0x70], 0x3f800000
mov dword [esp + 0x5c], 0
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x8c], 0x3f800000
mov dword [esp + 0x90], 0x3f800000
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
call fcn.100614d0
call fcn.10048bd0
mov edx, dword [esp + 0xf0]
mov ecx, 0x78
movss xmm1, dword [esp + 0x28]
and edx, 0xff000000
mov eax, dword [ebp + 0x288]
cmp edx, ecx
movaps xmm2, xmm1
mov dword [esp + 0x30], edx
addss xmm2, dword [0x1014b1b4]
cmovb ecx, edx
mov edi, eax
shl ecx, 0x18
xorps xmm0, xmm0
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x100d1e7b
comiss xmm0, xmm2
jae 0x100d1e7b
push 0xb
push 0
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call fcn.10054b00
push dword [esp + 0x20]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.100543e0
movss xmm1, dword [esp + 0x28]
xorps xmm0, xmm0
mov edx, dword [esp + 0x30]
mov dword [edi + 0x54], 0
mov edi, dword [ebp + 0x288]
test edx, edx
je 0x100d1eb2
comiss xmm0, xmm1
jae 0x100d1eb2
push 0xb
push 0
lea eax, [esp + 0x3c]
movaps xmm2, xmm1
push eax
mov ecx, edi
call fcn.10054b00
push dword [esp + 0xf0]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.100543e0
mov dword [edi + 0x54], 0
mov dword [esp + 0x7c], 0
mov edi, ebx
mov dword [esp + 0x80], 0x3f000000
cmp ebx, 0xffffffff
jae 0x100d1ee5
nop dword [eax]
mov al, byte [edi]
test al, al
je 0x100d1ee5
cmp al, 0x23
jne 0x100d1edf
cmp byte [edi + 1], al
je 0x100d1ee5
inc edi
cmp edi, 0xffffffff
jb 0x100d1ed0
mov eax, edi
sub eax, ebx
je 0x100d1f44
mov esi, dword [0x101541b4]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x80]
push eax
mov ecx, dword [esi + 0x1b94]
lea eax, [esp + 0xb8]
push eax
push edi
push ebx
mov ecx, dword [ecx + 0x288]
lea eax, [esp + 0xcc]
push eax
lea edx, [esp + 0xb8]
call fcn.1003ec20
cmp byte [esi + 0x2ed8], 0
je 0x100d1f40
push edi
mov edx, ebx
lea ecx, [esp + 0xa4]
call fcn.1004e880
mov esi, dword [esp + 0x14]
cmp byte [esi], 0
je 0x100d1f7e
movss xmm0, dword [0x1014b1b4]
push 0
push ecx
xor ecx, ecx
mov dword [esp], 0
call fcn.1003e600
mov ecx, dword [ebp + 0x288]
push eax
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.100553d0
mov dword [esp + 0x90], 0
mov edi, esi
mov dword [esp + 0x94], 0x3f000000
cmp esi, 0xffffffff
jae 0x100d1fb5
nop dword [eax + eax]
mov al, byte [edi]
test al, al
je 0x100d1fb5
cmp al, 0x23
jne 0x100d1faf
cmp byte [edi + 1], al
je 0x100d1fb5
inc edi
cmp edi, 0xffffffff
jb 0x100d1fa0
mov eax, edi
sub eax, esi
je 0x100d2014
mov esi, dword [0x101541b4]
lea eax, [esp + 0x6c]
mov ebx, dword [esp + 0x14]
lea edx, [esp + 0xa8]
push eax
lea eax, [esp + 0x94]
mov ecx, dword [esi + 0x1b94]
push eax
lea eax, [esp + 0xd0]
push eax
mov ecx, dword [ecx + 0x288]
lea eax, [esp + 0xa4]
push edi
push ebx
push eax
call fcn.1003ec20
cmp byte [esi + 0x2ed8], 0
je 0x100d2014
push edi
mov edx, ebx
lea ecx, [esp + 0xac]
call fcn.1004e880
movss xmm0, dword [ebp + 0xd0]
mov esi, dword [esp + 0xf4]
movss dword [esp + 0x14], xmm0
test esi, esi
je 0x100d2107
movss xmm0, dword [ebp + 0x21c]
subss xmm0, dword [esp + 0x18]
movss xmm1, dword [0x1014b378]
subss xmm0, dword [0x1014b2cc]
call fcn.10049810
mov eax, dword [0x101541b4]
mov edx, 4
movss xmm0, dword [esp + 0x24]
mov ecx, 0x101314de
movss xmm2, dword [ebp + 0xd0]
push 0
movss xmm1, dword [eax + 0x1554]
addss xmm1, xmm1
movss dword [esp + 0x34], xmm2
push 0x10138198
mov dword [esp + 0x28], 0x64
mov dword [esp + 0x44], 1
addss xmm1, dword [eax + 0x1930]
subss xmm0, xmm1
mulss xmm0, dword [0x1014b168]
addss xmm0, xmm2
movss dword [ebp + 0xd0], xmm0
or dword [eax + 0x1c78], 1
mov dword [eax + 0x1c7c], 0x42a00000
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x48]
push eax
push esi
call fcn.100661b0
mov eax, dword [esi]
mov ecx, 1
movss xmm0, dword [esp + 0x30]
cmp eax, ecx
cmovl eax, ecx
mov dword [esi], eax
movss dword [ebp + 0xd8], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [ebp + 0xd0], xmm0
jmp 0x100d210d
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ebp + 0x21c]
subss xmm0, dword [esp + 0x18]
movss xmm1, dword [0x1014b378]
subss xmm0, dword [0x1014b2a4]
call fcn.10049810
mov eax, dword [0x101541b4]
lea edx, [esp + 0x98]
movss xmm2, dword [esp + 0x24]
mov ecx, 0x1014269c
movss xmm1, dword [ebp + 0xd0]
push 0
movss xmm0, dword [eax + 0x1554]
addss xmm0, xmm0
movss dword [esp + 0x24], xmm1
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
addss xmm0, dword [eax + 0x1930]
subss xmm2, xmm0
mulss xmm2, dword [0x1014b168]
addss xmm2, xmm1
movss dword [ebp + 0xd0], xmm2
call fcn.100601e0
movss xmm0, dword [esp + 0x20]
mov bl, al
movss dword [ebp + 0xd8], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [ebp + 0xd0], xmm0
test bl, bl
je 0x100d21d7
test dword [ebp + 8], 0x4000000
je 0x100d21d7
test byte [ebp + 0x1b0], 0x20
jne 0x100d21d7
call fcn.1004a930
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret 0x18
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xcc
ret 0x18