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

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 0x102358e1
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x18d8
call fcn.101fc990
mov eax, dword [0x102d944c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebx + 8]
xor esi, esi
mov dword [ebp - 0x181c], esi
lea ecx, [edi + 4]
mov eax, dword [ecx]
xorps xmm1, xmm1
xorps xmm0, xmm0
mov dword [ebp - 0x184c], edi
movss dword [ebp - 0x1834], xmm0
movss dword [ebp - 0x1838], xmm1
mov eax, dword [eax + 0x20]
movss dword [ebp - 0x183c], xmm1
movss dword [ebp - 0x1840], xmm1
movss dword [ebp - 0x1844], xmm1
movss dword [ebp - 0x1848], xmm0
call eax
test eax, eax
je 0x101f2e9b
mov ecx, dword [0x1054e01c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
mov dword [ebp - 0x1828], eax
test eax, eax
je 0x101f2e9b
lea eax, [ebp - 0x1818]
mov ecx, 0x1030e0e0
push eax
push dword [edi + 0x64]
call fcn.100c53b0
test al, al
je 0x101f2e9b
mov eax, dword [ebp - 0x1828]
xor edx, edx
mov dword [ebp - 0x182c], edx
cmp dword [eax + 0x9c], edx
jle 0x101f2e9b
xor ecx, ecx
lea edi, [ebp - 0x17fc]
mov dword [ebp - 0x1830], ecx
nop
mov eax, dword [eax + 0xa0]
add eax, ecx
add eax, dword [ebp - 0x1828]
je 0x101f2e60
test dword [eax + 0xa0], 0x100
je 0x101f2e60
mov ecx, dword [eax + 4]
cmp ecx, 0xffffffff
je 0x101f2e60
cmp edx, 0x7f
ja 0x101f2662
lea eax, [edi - 0x1c]
test eax, eax
je 0x101f2662
movss xmm1, dword [edi]
movss xmm0, dword [edi - 0x10]
movss dword [ebp - 0x1838], xmm1
movss xmm1, dword [edi + 0x10]
movss dword [ebp - 0x1834], xmm0
movss dword [ebp - 0x183c], xmm1
cmp ecx, 0x7f
ja 0x101f269e
lea eax, [ecx + ecx*2]
add eax, eax
lea eax, [ebp + eax*8 - 0x1818]
test eax, eax
je 0x101f269e
movss xmm1, dword [eax + 0xc]
movss xmm0, dword [eax + 0x2c]
movss dword [ebp - 0x1840], xmm1
movss xmm1, dword [eax + 0x1c]
movss dword [ebp - 0x1844], xmm1
movss dword [ebp - 0x1848], xmm0
mov edx, dword [0x1054e4bc]
mov eax, dword [ebp - 0x184c]
add edx, 0xffffffd2
xor edx, 0xab5b2a
mov ecx, dword [eax + edx]
mov eax, dword [0x10311640]
cmp ecx, dword [edx + eax]
jne 0x101f280a
mov ecx, dword [0x1054e0d8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jne 0x101f280a
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x1890], eax
push str.bt_skeleton_color
lea ecx, [ebp - 0x18a0]
mov dword [ebp - 0x188c], eax
movups xmmword [ebp - 0x18a0], xmm0
call fcn.100bd420
lea eax, [ebp - 0x18a0]
mov dword [ebp - 4], 3
or esi, 8
mov ecx, 0x10550968
push eax
mov dword [ebp - 0x181c], esi
call fcn.100b9b20
push 0x11
push str.bt_skeleton_color
lea ecx, [ebp - 0x1888]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x1878], 0
mov dword [ebp - 0x1874], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x1820], eax
movups xmmword [ebp - 0x1888], xmm0
call fcn.100bd420
lea eax, [ebp - 0x1888]
mov dword [ebp - 4], 4
or esi, 0x10
mov ecx, 0x10550968
push eax
mov dword [ebp - 0x181c], esi
call fcn.100b9b20
push 0x11
push str.bt_skeleton_color
lea ecx, [ebp - 0x1870]
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x1860], 0
mov dword [ebp - 0x185c], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x1824], eax
movups xmmword [ebp - 0x1870], xmm0
call fcn.100bd420
lea eax, [ebp - 0x1870]
mov dword [ebp - 4], 5
or esi, 0x20
mov ecx, 0x10550968
push eax
mov dword [ebp - 0x181c], esi
call fcn.100b9b20
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x1820]
movzx edx, al
mov eax, dword [ebp - 0x1824]
jmp 0x101f293e
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x18d8], 0
push str.bt_skeleton_color
lea ecx, [ebp - 0x18e8]
mov dword [ebp - 0x18d4], 0
movups xmmword [ebp - 0x18e8], xmm0
call fcn.100bd420
lea eax, [ebp - 0x18e8]
mov dword [ebp - 4], 0
or esi, 1
mov ecx, 0x10550968
push eax
mov dword [ebp - 0x181c], esi
call fcn.100b9b20
push 0x11
push str.bt_skeleton_color
lea ecx, [ebp - 0x18d0]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x18c0], 0
mov dword [ebp - 0x18bc], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x1824], eax
movups xmmword [ebp - 0x18d0], xmm0
call fcn.100bd420
lea eax, [ebp - 0x18d0]
mov dword [ebp - 4], 1
or esi, 2
mov ecx, 0x10550968
push eax
mov dword [ebp - 0x181c], esi
call fcn.100b9b20
push 0x11
push str.bt_skeleton_color
lea ecx, [ebp - 0x18b8]
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x18a8], 0
mov dword [ebp - 0x18a4], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x1820], eax
movups xmmword [ebp - 0x18b8], xmm0
call fcn.100bd420
lea eax, [ebp - 0x18b8]
mov dword [ebp - 4], 2
or esi, 4
mov ecx, 0x10550968
push eax
mov dword [ebp - 0x181c], esi
call fcn.100b9b20
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x1824]
movzx edx, al
mov eax, dword [ebp - 0x1820]
mulss xmm0, dword [0x102c1678]
shl edx, 8
movzx eax, al
or edx, eax
mov dword [ebp - 4], 4
cvttss2si ecx, xmm0
shl edx, 8
movzx eax, cl
or edx, eax
mov eax, dword [ebp - 0x181c]
or edx, 0xff000000
mov dword [ebp - 0x1820], edx
test al, 0x20
je 0x101f29db
mov ecx, dword [ebp - 0x185c]
and eax, 0xffffffdf
mov dword [ebp - 0x181c], eax
cmp ecx, 0x10
jb 0x101f29c0
mov edx, dword [ebp - 0x1870]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101f29b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101f2ebb
push ecx
push edx
call fcn.101fb2ba
mov eax, dword [ebp - 0x181c]
add esp, 8
mov dword [ebp - 0x1860], 0
mov dword [ebp - 0x185c], 0xf
mov byte [ebp - 0x1870], 0
mov dword [ebp - 4], 3
test al, 0x10
je 0x101f2a4a
mov ecx, dword [ebp - 0x1874]
and eax, 0xffffffef
mov dword [ebp - 0x181c], eax
cmp ecx, 0x10
jb 0x101f2a2f
mov edx, dword [ebp - 0x1888]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101f2a1f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101f2ebb
push ecx
push edx
call fcn.101fb2ba
mov eax, dword [ebp - 0x181c]
add esp, 8
mov dword [ebp - 0x1878], 0
mov dword [ebp - 0x1874], 0xf
mov byte [ebp - 0x1888], 0
mov dword [ebp - 4], 2
test al, 8
je 0x101f2ab9
mov ecx, dword [ebp - 0x188c]
and eax, 0xfffffff7
mov dword [ebp - 0x181c], eax
cmp ecx, 0x10
jb 0x101f2a9e
mov edx, dword [ebp - 0x18a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101f2a8e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101f2ebb
push ecx
push edx
call fcn.101fb2ba
mov eax, dword [ebp - 0x181c]
add esp, 8
mov dword [ebp - 0x1890], 0
mov dword [ebp - 0x188c], 0xf
mov byte [ebp - 0x18a0], 0
mov dword [ebp - 4], 1
test al, 4
je 0x101f2b28
mov ecx, dword [ebp - 0x18a4]
and eax, 0xfffffffb
mov dword [ebp - 0x181c], eax
cmp ecx, 0x10
jb 0x101f2b0d
mov edx, dword [ebp - 0x18b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101f2afd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101f2ebb
push ecx
push edx
call fcn.101fb2ba
mov eax, dword [ebp - 0x181c]
add esp, 8
mov dword [ebp - 0x18a8], 0
mov dword [ebp - 0x18a4], 0xf
mov byte [ebp - 0x18b8], 0
mov dword [ebp - 4], 0
test al, 2
je 0x101f2b97
mov ecx, dword [ebp - 0x18bc]
and eax, 0xfffffffd
mov dword [ebp - 0x181c], eax
cmp ecx, 0x10
jb 0x101f2b7c
mov edx, dword [ebp - 0x18d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101f2b6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101f2ebb
push ecx
push edx
call fcn.101fb2ba
mov eax, dword [ebp - 0x181c]
add esp, 8
mov dword [ebp - 0x18c0], 0
mov dword [ebp - 0x18bc], 0xf
mov byte [ebp - 0x18d0], 0
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x101f2be5
mov ecx, dword [ebp - 0x18d4]
and eax, 0xfffffffe
mov dword [ebp - 0x181c], eax
cmp ecx, 0x10
jb 0x101f2be5
mov edx, dword [ebp - 0x18e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101f2bdb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101f2ebb
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [0x1054dfe4]
mov eax, dword [ebx + 0xc]
mov byte [ebp - 0x181d], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
movss xmm4, dword [ebp - 0x1834]
mov esi, eax
movss xmm5, dword [ebp - 0x1838]
movaps xmm2, xmm4
movss xmm6, dword [ebp - 0x183c]
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x34]
mulss xmm2, dword [esi + 0x30]
addss xmm2, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x38]
addss xmm2, xmm0
movss xmm0, dword [0x102c12d0]
addss xmm2, dword [esi + 0x3c]
comiss xmm0, xmm2
ja 0x101f2e5a
movaps xmm1, xmm5
mov eax, dword [0x10312eb8]
mulss xmm1, dword [esi + 4]
movaps xmm0, xmm4
mov ecx, dword [0x10312ebc]
mulss xmm0, dword [esi]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esi + 8]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addss xmm1, dword [esi + 0xc]
divss xmm1, xmm2
mulss xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, dword [0x102c137c]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x1858], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [esi + 0x10]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
movd xmm0, ecx
mov ecx, dword [0x1054dfe4]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
addss xmm1, dword [esi + 0x1c]
mov eax, dword [eax + 0x94]
divss xmm1, xmm2
mulss xmm1, xmm0
mulss xmm1, dword [0x102c137c]
subss xmm3, xmm1
movss dword [ebp - 0x1854], xmm3
call eax
movss xmm4, dword [ebp - 0x1840]
mov esi, eax
movss xmm5, dword [ebp - 0x1844]
movaps xmm3, xmm4
movss xmm6, dword [ebp - 0x1848]
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x34]
mulss xmm3, dword [esi + 0x30]
addss xmm3, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x38]
addss xmm3, xmm0
movss xmm0, dword [0x102c12d0]
addss xmm3, dword [esi + 0x3c]
comiss xmm0, xmm3
ja 0x101f2e5a
movaps xmm1, xmm5
mov eax, dword [0x10312eb8]
mulss xmm1, dword [esi + 4]
movaps xmm0, xmm4
mov ecx, dword [0x10312ebc]
mulss xmm0, dword [esi]
push dword [ebp - 0x1820]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esi + 8]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addss xmm1, dword [esi + 0xc]
divss xmm1, xmm3
mulss xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, dword [0x102c137c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x1850], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [esi + 0x10]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
movd xmm0, ecx
mov ecx, dword [0x1054dff0]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
addss xmm1, dword [esi + 0x1c]
mov eax, dword [eax + 0x38]
divss xmm1, xmm3
mulss xmm1, xmm0
mulss xmm1, dword [0x102c137c]
subss xmm2, xmm1
movss dword [ebp - 0x1824], xmm2
call eax
cvttss2si eax, dword [ebp - 0x1824]
mov ecx, dword [0x1054dff0]
mov edx, dword [ecx]
push eax
cvttss2si eax, dword [ebp - 0x1850]
push eax
cvttss2si eax, dword [ebp - 0x1854]
push eax
cvttss2si eax, dword [ebp - 0x1858]
push eax
mov eax, dword [edx + 0x4c]
call eax
mov esi, dword [ebp - 0x181c]
mov eax, dword [ebp - 0x182c]
add edi, 0x30
mov edx, dword [ebp - 0x1828]
inc eax
add dword [ebp - 0x1830], 0xd8
mov dword [ebp - 0x182c], eax
cmp eax, dword [edx + 0x9c]
jge 0x101f2e9b
mov ecx, dword [ebp - 0x1830]
mov edx, eax
mov eax, dword [ebp - 0x1828]
jmp 0x101f2600
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101fae3a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.10201dbe
int3