Function at 0x100cc5b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x74
push ebx
mov ebx, dword [esp + 0x7c]
push ebp
push esi
mov esi, dword [0x1023d48c]
mov ebp, esi
push edi
mov byte [esp + 0x16], dl
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 0x1bac]
mov dword [esp + 0x1c], ebp
mov byte [eax + 0xac], 1
mov edi, dword [ebp + 0x1bac]
mov dword [esp + 0x38], edi
cmp byte [edi + 0xaf], 0
jne 0x100cc9c2
mov eax, ebx
and eax, 2
mov dword [esp + 0x28], eax
je 0x100cc612
cmp dword [edi + 0x1a4], 0
je 0x100cc612
call fcn.100be410
mov esi, dword [0x1023d48c]
mov ecx, dword [edi + 0xe4]
xor edx, edx
mov eax, dword [edi + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x24]
call fcn.100a1b00
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esi + 0x1be0], eax
jne 0x100cc642
mov dword [esi + 0x1be4], eax
cmp dword [esi + 0x1c1c], eax
jne 0x100cc651
mov byte [esi + 0x1c20], 1
mov eax, dword [esp + 0x20]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x100cc676
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x100cc676
cmp dl, 0x23
jne 0x100cc670
cmp byte [ecx + 1], dl
je 0x100cc676
inc ecx
cmp ecx, 0xffffffff
jb 0x100cc660
movss xmm0, dword [esi + 0x1940]
xorps xmm7, xmm7
cmp eax, ecx
jne 0x100cc68a
xorps xmm1, xmm1
jmp 0x100cc6d3
movss xmm3, dword [0x1022fc20]
movaps xmm2, xmm0
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x193c]
lea eax, [esp + 0x40]
mov dword [esp], 0xbf800000
push eax
call fcn.100bac30
movss xmm0, dword [esp + 0x30]
xorps xmm7, xmm7
addss xmm0, dword [0x1022f9c0]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x34]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov esi, dword [esp + 0x8c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x40], xmm1
movss xmm2, dword [esi + 4]
ucomiss xmm2, xmm7
movss dword [esp + 0x2c], xmm2
lahf
test ah, 0x44
jp 0x100cc703
movaps xmm2, xmm0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esi]
ucomiss xmm0, xmm7
lahf
test ah, 0x44
jp 0x100cc713
movaps xmm0, xmm1
movss xmm4, dword [edi + 0xf4]
lea ecx, [esp + 0x48]
addss xmm4, dword [edi + 0x128]
movss xmm3, dword [edi + 0xf0]
movaps xmm1, xmm3
movss dword [esp + 0x48], xmm0
addss xmm1, xmm0
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x30], xmm3
movaps xmm0, xmm4
movss dword [esp + 0x24], xmm4
addss xmm0, xmm2
movss dword [esp + 0x70], xmm3
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x7c], xmm0
call fcn.100adc80
cmp dword [esp + 0x28], 0
movss xmm3, dword [edi + 0x5c]
je 0x100cc79b
mov eax, dword [0x1023d48c]
mov eax, dword [eax + 0x1bac]
movss xmm0, dword [eax + 0x258]
subss xmm0, dword [eax + 0x14]
jmp 0x100cc7dc
mov ecx, dword [0x1023d48c]
mov eax, dword [ecx + 0x1bac]
cmp dword [eax + 0x1a4], 0
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x258]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm0
jne 0x100cc7d0
cmp dword [ecx + 0x1f18], 0
je 0x100cc7e2
movss xmm0, dword [eax + 0x228]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm0
addss xmm0, dword [edi + 0x14]
movss xmm1, dword [esi + 4]
movss xmm6, dword [esp + 0x30]
ucomiss xmm1, xmm7
subss xmm0, xmm3
lahf
subss xmm0, xmm6
maxss xmm0, dword [esp + 0x40]
test ah, 0x44
jp 0x100cc80f
movss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esi]
mov ecx, ebx
and ecx, 0x1000000
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jnp 0x100cc83b
test ecx, ecx
jne 0x100cc83b
movss xmm5, dword [esp + 0x24]
movaps xmm4, xmm6
addss xmm4, xmm2
addss xmm5, xmm1
jmp 0x100cc85d
movss xmm5, dword [esp + 0x24]
movaps xmm4, xmm6
ucomiss xmm2, xmm7
addss xmm4, xmm0
addss xmm5, xmm1
lahf
test ah, 0x44
jnp 0x100cc859
test ecx, ecx
je 0x100cc85d
addss xmm4, xmm3
movss xmm2, dword [ebp + 0x1570]
movss xmm3, dword [ebp + 0x1574]
movaps xmm0, xmm2
mulss xmm0, dword [0x1022f964]
mov ebp, ebx
push ecx
lea ecx, [esp + 0x64]
push 0
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1022f964]
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
subss xmm6, xmm1
subss xmm2, xmm1
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x68], xmm6
addss xmm2, xmm4
movss xmm6, dword [esp + 0x2c]
subss xmm3, xmm0
subss xmm6, xmm0
movss dword [esp + 0x70], xmm2
addss xmm3, xmm5
movss dword [esp + 0x6c], xmm6
movss dword [esp + 0x74], xmm3
and ebp, 8
je 0x100cc903
mov esi, dword [edi + 0x1bc]
mov eax, esi
mov edx, dword [esp + 0x20]
or eax, 0x14
mov dword [edi + 0x1bc], eax
call fcn.100addb0
mov dword [edi + 0x1bc], esi
mov esi, dword [esp + 0x20]
jmp 0x100cc90e
mov esi, dword [esp + 0x20]
mov edx, esi
call fcn.100addb0
add esp, 8
test al, al
jne 0x100cc9cc
test bl, 2
je 0x100cc9c2
cmp dword [edi + 0x1a4], 0
je 0x100cc9c2
mov eax, dword [0x1023d48c]
mov esi, dword [eax + 0x1bac]
mov edx, dword [esi + 0x1a4]
cmp dword [edx + 0x10], 1
je 0x100cc9c2
movups xmm0, xmmword [edx + 0x3c]
mov eax, dword [esi + 0x294]
movss xmm4, dword [edx + 0x3c]
movss xmm3, dword [edx + 0x40]
movss xmm2, dword [edx + 0x44]
movss xmm1, dword [edx + 0x48]
movups xmmword [esi + 0x240], xmm0
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x6c], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [esi + 0x294]
movups xmm0, xmmword [esp + 0x60]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
mov eax, dword [edx + 0xc]
lea ecx, [edx + 0x68]
inc eax
push eax
push dword [esi + 0x294]
call fcn.100b90d0
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
movzx eax, byte [esp + 0x16]
mov ecx, ebx
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x10
test ebx, 0x400000
cmove edx, ecx
mov ecx, edx
or ecx, 0x80
test ebx, 0x800000
cmove ecx, edx
mov edx, ecx
or edx, 0x120
test bl, 4
cmove edx, ecx
xor ecx, ecx
test ebp, ebp
mov ebp, ebx
cmove ecx, eax
mov eax, edx
or eax, 0x1000
mov dword [esp + 0x30], ecx
and ebp, 0x10
lea ecx, [esp + 0x60]
cmove eax, edx
mov edx, esi
push eax
lea eax, [esp + 0x1b]
push eax
lea eax, [esp + 0x1d]
push eax
call fcn.100bfc30
mov esi, dword [0x1023d48c]
add esp, 0xc
mov byte [esp + 0x16], al
test al, al
mov al, byte [esp + 0x15]
mov edx, ebp
mov byte [esp + 0x15], al
jne 0x100cca6f
mov ecx, ebp
test al, al
je 0x100ccaeb
test ebx, 0x4000000
je 0x100ccaeb
mov edx, ebx
and edx, 0x10
mov edi, dword [esp + 0x1c]
mov ecx, ebp
cmp byte [edi + 0x1d97], 0
mov edi, dword [esp + 0x38]
jne 0x100ccad4
mov ebp, dword [esp + 0x1c]
cmp dword [ebp + 0x1d44], edi
jne 0x100ccad4
mov eax, dword [ebp + 0x1d8c]
mov ecx, edx
cmp eax, dword [edi + 0x13c]
jne 0x100ccad0
mov byte [ebp + 0x1d96], 1
mov eax, dword [edi + 0x148]
mov ecx, dword [edi + 0x13c]
mov ebp, dword [esp + 0x18]
mov dword [esi + 0x1d4c], eax
mov eax, dword [esi + 0x1d44]
mov dword [esi + 0x1d48], ebp
mov dword [eax + ecx*4 + 0x33c], ebp
mov ecx, edx
mov al, byte [esp + 0x15]
cmp byte [esp + 0x16], 0
je 0x100ccaeb
or dword [esi + 0x1c50], 4
mov word [esi + 0x1bf0], 0x101
test ecx, ecx
je 0x100ccb13
mov ecx, dword [esi + 0x1c48]
cmp dword [esi + 0x1bcc], ecx
jne 0x100ccb04
mov byte [esi + 0x1bd4], 1
cmp dword [esi + 0x1be0], ecx
jne 0x100ccb13
mov byte [esi + 0x1bed], 1
mov cl, byte [esp + 0x17]
test cl, cl
je 0x100ccb2b
test ebx, 0x2000000
je 0x100ccb2b
mov al, 1
mov byte [esp + 0x15], al
jmp 0x100ccb39
test al, al
jne 0x100ccb39
cmp byte [esp + 0x30], al
je 0x100ccc98
test cl, cl
je 0x100ccb48
test al, al
je 0x100ccb48
mov ebp, 0x1a
jmp 0x100ccb5a
xor eax, eax
cmp byte [esp + 0x15], al
setne al
add eax, 0x18
mov dword [esp + 0x38], eax
mov ebp, eax
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
movss xmm1, dword [0x1022f9c8]
push 0
push ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x54], ecx
mov ecx, ebp
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x1bac]
mov dword [esp + 0x40], eax
mov dword [esp], 0
call fcn.100a2720
mov ecx, dword [edx + 0x294]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.100b85b0
mov eax, dword [0x1023d48c]
xorps xmm0, xmm0
movss xmm3, dword [0x1022f9c8]
movss xmm1, dword [eax + 0x1528]
mulss xmm1, dword [0x1022f8fc]
comiss xmm0, xmm1
jbe 0x100ccbd9
xorps xmm2, xmm2
jmp 0x100ccbe0
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm4, dword [0x1022fbbc]
movss xmm5, dword [0x1022f964]
mulss xmm2, xmm4
addss xmm2, xmm5
cvttss2si ecx, xmm2
shl ecx, 0x18
comiss xmm0, xmm1
jbe 0x100ccc09
xorps xmm1, xmm1
jmp 0x100ccc0d
minss xmm1, xmm3
movss xmm2, dword [eax + 0x1528]
mulss xmm2, dword [0x1022f8d8]
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
shl edx, 0x18
comiss xmm0, xmm2
jbe 0x100ccc36
xorps xmm1, xmm1
jmp 0x100ccc3d
movaps xmm1, xmm2
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x18
comiss xmm0, xmm2
ja 0x100ccc58
minss xmm2, xmm3
movaps xmm0, xmm2
mulss xmm0, xmm4
push ecx
mov ecx, dword [edi + 0x294]
push edx
push eax
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x18
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.100b8720
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x60]
push 0xa
call fcn.100a3720
mov esi, dword [0x1023d48c]
add esp, 4
test bl, 2
je 0x100ccd91
cmp dword [edi + 0x1a4], 0
je 0x100ccd91
mov ebp, dword [esi + 0x1bac]
mov edx, dword [ebp + 0x1a4]
cmp dword [edx + 0x10], 1
je 0x100ccd46
movups xmm0, xmmword [edx + 0x3c]
mov eax, dword [ebp + 0x294]
movss xmm4, dword [edx + 0x3c]
movss xmm3, dword [edx + 0x40]
movss xmm2, dword [edx + 0x44]
movss xmm1, dword [edx + 0x48]
movups xmmword [ebp + 0x240], xmm0
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [ebp + 0x294]
movups xmm0, xmmword [esp + 0x48]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
mov eax, dword [edx + 0xc]
lea ecx, [edx + 0x68]
inc eax
push eax
push dword [ebp + 0x294]
call fcn.100b90d0
mov esi, dword [0x1023d48c]
mov eax, dword [esi + 0x1bac]
cmp dword [eax + 0x1a4], 0
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x258]
subss xmm1, xmm0
jne 0x100ccd6f
cmp dword [esi + 0x1f18], 0
je 0x100ccd7b
movss xmm1, dword [eax + 0x228]
subss xmm1, xmm0
subss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x68]
subss xmm0, xmm1
movss dword [esp + 0x68], xmm0
test bl, 8
je 0x100ccdce
movups xmm0, xmmword [esi + 0x15ec]
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0
push eax
lea ecx, [esi + 0x1cd8]
movups xmmword [esp + 0x50], xmm0
call fcn.100b4410
mov eax, dword [esp + 0x1c]
movups xmm0, xmmword [eax + 0x15fc]
movups xmmword [esi + 0x15ec], xmm0
jmp 0x100ccdd2
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
add eax, 0x15c4
push ecx
push eax
lea eax, [esp + 0x48]
push eax
push ecx
push dword [esp + 0x30]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x84]
call fcn.100a2e50
add esp, 0x14
test bl, 8
mov ebx, dword [0x1023d48c]
je 0x100cce30
mov eax, dword [ebx + 0x1cd8]
mov ecx, dword [ebx + 0x1ce0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [ebx + eax*8 + 0x15ec], xmm0
dec dword [ebx + 0x1cd8]
cmp byte [esp + 0x16], 0
je 0x100cced4
test dword [edi + 0x10], 0x4000000
je 0x100cced4
test byte [esp + 0x88], 1
jne 0x100cced4
test byte [edi + 0x1bc], 0x20
jne 0x100cced4
mov ecx, dword [ebx + 0x1d2c]
sub ecx, 1
js 0x100cced4
cmp ecx, dword [ebx + 0x1d20]
jge 0x100cced4
mov eax, dword [ebx + 0x1d34]
lea edx, [ecx + ecx*8]
mov esi, dword [ebx + 0x1d28]
shl edx, 2
mov eax, dword [edx + eax]
cmp eax, dword [esi + edx]
jne 0x100cced4
test ecx, ecx
jle 0x100ccebc
lea eax, [esi - 0x20]
add eax, edx
mov esi, dword [eax + 0x24]
mov edx, dword [eax]
test esi, esi
je 0x100ccebc
test dword [esi + 0x10], 0x10000000
je 0x100ccebc
test edx, edx
je 0x100cceb4
test dword [edx + 0x10], 0x8000000
jne 0x100ccebc
dec ecx
sub eax, 0x24
test ecx, ecx
jg 0x100cce95
mov dl, 1
call fcn.100af790
mov eax, dword [ebx + 0x1d44]
test eax, eax
je 0x100cced4
mov byte [eax + 0x14c], 1
mov al, byte [esp + 0x16]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret