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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x138
mov eax, dword [0x10016040]
xor eax, esp
mov dword [esp + 0x134], eax
mov eax, dword [0x100169b4]
mov dword [esp + 0x20], eax
push esi
push edi
test eax, eax
je 0x100074f7
call fcn.10005490
mov ecx, dword [0x10016b8c]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [eax + ecx]
call fcn.100058c0
mov esi, eax
test esi, esi
je 0x100074f7
mov ecx, esi
call fcn.100055e0
test eax, eax
je 0x100074f7
mov ecx, esi
call fcn.100055e0
mov ecx, dword [0x10016b8c]
xorps xmm1, xmm1
push str.Head
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x44], xmm1
mov edx, dword [ecx + 8]
mov ecx, eax
movss dword [esp + 0x4c], xmm1
call edx
test eax, eax
je 0x10006a88
movss xmm0, dword [eax + 0x38]
movss xmm2, dword [eax + 0x30]
movss xmm1, dword [eax + 0x34]
movss dword [esp + 0x58], xmm0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
movss xmm0, dword [esp + 0x3c]
unpcklps xmm2, xmm1
movq qword [esp + 0x34], xmm2
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x44], xmm0
call fcn.10005270
mov ecx, dword [0x10016b8c]
mov ecx, dword [ecx + 4]
movd xmm0, dword [ecx + eax + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100128c8]
call fcn.100101c0
mov edi, eax
mov dword [esp + 0x1c], edi
call fcn.10005270
mov ecx, dword [0x10016b8c]
mov ecx, dword [ecx + 4]
movd xmm0, dword [ecx + eax + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100128c8]
call fcn.100101c0
movq xmm0, qword [esp + 0x50]
xor ecx, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
movaps xmmword [esp + 0xd0], xmm0
call fcn.10005490
mov ecx, dword [0x10016b8c]
mov edx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x10]
mov cl, byte [ecx + eax]
mov al, dl
not cl
not al
xor cl, al
test cl, 1
jne 0x10006b25
cmp dword [0x1001686c], 0
je 0x100074e5
mov ecx, edx
call fcn.100058c0
mov esi, eax
test esi, esi
je 0x100074e5
mov ecx, esi
call fcn.100055e0
test eax, eax
je 0x100074e5
mov ecx, esi
call fcn.100055e0
mov ecx, dword [0x10016b8c]
push str.Head
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov edx, dword [ecx + 8]
mov ecx, eax
mov dword [esp + 0x6c], 0
call edx
xorps xmm1, xmm1
xorps xmm0, xmm0
movss dword [esp + 0x24], xmm0
xorps xmm2, xmm2
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x18], xmm1
test eax, eax
je 0x10006bd1
movss xmm2, dword [eax + 0x30]
movss xmm0, dword [eax + 0x34]
movss xmm1, dword [eax + 0x38]
movss dword [esp + 0x20], xmm2
unpcklps xmm2, xmm0
movss dword [esp + 0xe8], xmm1
mov ecx, dword [esp + 0xe8]
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x18], xmm1
movq qword [esp + 0x60], xmm2
jmp 0x10006bdb
mov ecx, dword [esp + 0x68]
movq xmm2, qword [esp + 0x60]
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm2
mov dword [eax + 8], ecx
lea ecx, [esp + 0x84]
call fcn.10005bb0
add esp, 0xc
test al, al
je 0x100074e5
movss xmm2, dword [esp + 0x20]
movss xmm0, dword [esp + 0x24]
subss xmm0, dword [esp + 0x40]
subss xmm2, dword [esp + 0x44]
movss xmm1, dword [esp + 0x18]
subss xmm1, dword [esp + 0x48]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.10001130
xorps xmm1, xmm1
mov esi, dword [esp + 0x14]
cvtsi2sd xmm1, edi
mov eax, edi
mov ecx, esi
shr eax, 0x1f
movaps xmm2, xmm0
movss dword [esp + 0x18], xmm2
addsd xmm1, qword [eax*8 + 0x10012970]
mov eax, dword [esp + 0x4c]
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + 0x78]
divss xmm0, xmm2
divss xmm0, dword [0x10012920]
subss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
movss dword [esp + 0x24], xmm1
movss xmm1, dword [esp + 0x7c]
addsd xmm0, qword [eax*8 + 0x10012970]
movss dword [esp + 0x2c], xmm1
cvtpd2ps xmm0, xmm0
divss xmm0, xmm2
divss xmm0, dword [0x10012920]
subss xmm1, xmm0
movss dword [esp + 0x20], xmm1
call fcn.100058c0
test eax, eax
je 0x100074e5
mov ecx, esi
call fcn.100058c0
mov ecx, eax
call fcn.100056e0
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100074e5
mov ecx, esi
call fcn.100058c0
mov edi, eax
test edi, edi
je 0x100074e1
mov ecx, edi
call fcn.100055e0
test eax, eax
je 0x100074e1
mov ecx, edi
call fcn.100055e0
mov ecx, dword [0x10016b8c]
push str.Head
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov edx, dword [ecx + 8]
mov ecx, eax
mov dword [esp + 0x78], 0
call edx
test eax, eax
je 0x10006d62
movss xmm2, dword [eax + 0x30]
movss xmm1, dword [eax + 0x34]
movss xmm0, dword [eax + 0x38]
unpcklps xmm2, xmm1
movss dword [esp + 0xf4], xmm0
mov ecx, dword [esp + 0xf4]
movq qword [esp + 0x6c], xmm2
jmp 0x10006d6c
mov ecx, dword [esp + 0x74]
movq xmm2, qword [esp + 0x6c]
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm2
mov dword [eax + 8], ecx
lea ecx, [esp + 0x11c]
call fcn.10005bb0
add esp, 0xc
test al, al
je 0x100074e1
cmp dword [0x10016978], 0
je 0x10006e0e
mov ecx, esi
call fcn.100058c0
push esi
call fcn.10005490
mov ecx, eax
call fcn.100053f0
mov edi, eax
mov eax, dword [esp + 0x14]
push eax
mov ecx, eax
call fcn.100058c0
mov ecx, eax
call fcn.10005820
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.100058c0
mov ecx, eax
call fcn.100056e0
sub esp, 8
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [0x1001290c]
push edi
push str._ws____.fHP
push esi
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [esp + 0x3c]
push eax
push dword [0x10016948]
call fcn.10005f90
add esp, 0x20
cmp dword [0x100168e8], 0
je 0x10006ee2
mov eax, dword [esp + 0x14]
mov ecx, eax
push eax
call fcn.100058c0
mov ecx, eax
call fcn.10005820
mov ecx, dword [0x10016918]
mov esi, eax
push 1
push ecx
mov edx, dword [ecx]
call dword [edx + 0x34]
mov ecx, dword [0x10016918]
push ecx
mov dword [esp], 0x3f800000
push ecx
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov eax, dword [0x10016918]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
movd xmm0, dword [esp + 0x1c]
lea edx, [esp + 0x84]
mov eax, dword [esp + 0x4c]
cvtdq2ps xmm0, xmm0
add eax, 5
push esi
push 2
push edx
movss dword [esp + 0x90], xmm0
movd xmm0, eax
cvttss2si eax, dword [esp + 0x84]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x94], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x38]
addss xmm0, dword [0x100128d4]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [0x10016918]
cvtdq2ps xmm0, xmm0
push eax
movss dword [esp + 0xa0], xmm0
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [0x10016918]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
cmp dword [0x10016898], 0
je 0x1000708d
mov eax, dword [esp + 0x14]
mov ecx, eax
push eax
call fcn.100058c0
mov ecx, eax
call fcn.10005820
mov edi, dword [esp + 0x14]
mov esi, eax
mov edx, dword [str.Neck]
mov ecx, edi
push esi
push str.Head
call fcn.10006480
push esi
push dword [0x10012800]
mov edx, str.Head
mov ecx, edi
call fcn.10006480
mov edx, dword [str.Spine1]
mov ecx, edi
push esi
push dword [0x10012804]
call fcn.10006480
mov edx, dword [str.Neck]
mov ecx, edi
push esi
push dword [0x10012808]
call fcn.10006480
mov edx, dword [str.Neck]
mov ecx, edi
push esi
push dword [0x1001280c]
call fcn.10006480
mov edx, dword [str.L_Clavicle]
mov ecx, edi
push esi
push dword [0x10012810]
call fcn.10006480
mov edx, dword [str.L_UpperArm]
mov ecx, edi
push esi
push dword [0x10012814]
call fcn.10006480
mov edx, dword [str.L_Forearm]
mov ecx, edi
push esi
push dword [0x10012818]
call fcn.10006480
mov edx, dword [str.R_Clavicle]
add esp, 0x40
mov ecx, edi
push esi
push dword [0x10012820]
call fcn.10006480
mov edx, dword [str.R_UpperArm]
mov ecx, edi
push esi
push dword [0x10012824]
call fcn.10006480
mov edx, dword [str.R_Forearm]
mov ecx, edi
push esi
push dword [0x10012828]
call fcn.10006480
mov edx, dword [str.Pelvis]
mov ecx, edi
push esi
push dword [0x10012830]
call fcn.10006480
mov edx, dword [str.L_Thigh]
mov ecx, edi
push esi
push dword [0x10012834]
call fcn.10006480
mov edx, dword [str.L_Calf]
mov ecx, edi
push esi
push dword [0x10012838]
call fcn.10006480
push esi
push dword [0x1001283c]
mov edx, dword [str.L_Foot]
mov ecx, edi
call fcn.10006480
mov edx, dword [str.Pelvis]
mov ecx, edi
push esi
push dword [0x10012840]
call fcn.10006480
mov edx, dword [str.R_Thigh]
add esp, 0x40
mov ecx, edi
push esi
push dword [0x10012844]
call fcn.10006480
mov edx, dword [str.R_Calf]
mov ecx, edi
push esi
push dword [0x10012848]
call fcn.10006480
mov edx, dword [str.R_Foot]
mov ecx, edi
push esi
push dword [0x1001284c]
call fcn.10006480
add esp, 0x18
jmp 0x10007091
mov edi, dword [esp + 0x14]
cmp dword [0x100169cc], 0
je 0x100070da
movss xmm0, dword [esp + 0x18]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, dword [0x10012918]
push str._.f_M
push 0xffffffffffffffff
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [esp + 0x38]
push eax
push dword [0x10016948]
call fcn.10005f90
add esp, 0x1c
cmp dword [0x10016924], 0
je 0x100071e7
mov eax, dword [esp + 0x14]
mov ecx, eax
push eax
call fcn.100058c0
mov ecx, eax
call fcn.10005820
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x94]
push str.Head
mov edx, edi
mov esi, eax
call fcn.10005e60
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, edi
push dword [0x10012838]
call fcn.10005e60
movq xmm0, qword [esp + 0x98]
sub esp, 8
mov eax, dword [esp + 0xa8]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0xb8]
call fcn.10005bb0
add esp, 0xc
test al, al
je 0x100071e7
movq xmm0, qword [esp + 0xa0]
sub esp, 0xc
mov eax, dword [esp + 0xb4]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x104]
call fcn.10005bb0
add esp, 0xc
test al, al
je 0x100071e7
movss xmm3, dword [esp + 0xfc]
movss xmm1, dword [esp + 0xb0]
movss xmm0, dword [esp + 0xac]
subss xmm3, xmm1
mov edx, dword [esp + 0x28]
push ecx
mov ecx, esi
mov dword [esp], 0x3f800000
movaps xmm4, xmm3
mulss xmm4, dword [0x100128c0]
movaps xmm2, xmm4
subss xmm0, xmm4
addss xmm2, xmm4
subss xmm0, dword [0x100128c8]
addss xmm2, dword [0x100128d4]
call fcn.10006740
add esp, 4
cmp dword [0x10016870], 0
je 0x10007371
push str.Head
mov edx, edi
lea ecx, [esp + 0xbc]
call fcn.10005e60
movq xmm0, qword [esp + 0xbc]
sub esp, 8
mov eax, dword [esp + 0xcc]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0xd0]
call fcn.10005bb0
add esp, 0xc
test al, al
je 0x10007371
movss xmm0, dword [esp + 0xc4]
mov ecx, edi
subss xmm0, dword [0x10012910]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0xc8]
subss xmm0, dword [0x10012904]
movss dword [esp + 0x18], xmm0
call fcn.100058c0
mov ecx, eax
call fcn.100056e0
comiss xmm0, dword [0x10012940]
jb 0x10007286
mov esi, 0xff00ff00
jmp 0x100072ba
comiss xmm0, dword [0x1001293c]
jb 0x10007296
mov esi, 0xffffff00
jmp 0x100072ba
comiss xmm0, dword [0x10012930]
jb 0x100072a6
mov esi, 0xffffa500
jmp 0x100072ba
comiss xmm0, dword [0x10012920]
mov esi, 0xffff0000
mov eax, 0xffff69b4
cmovae esi, eax
minss xmm0, dword [0x10012948]
mov edx, 1
push 0
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x1c]
subss xmm0, dword [0x100128d4]
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0x30]
subss xmm0, dword [0x100128d4]
cvttss2si eax, xmm0
test eax, eax
cmovs eax, edx
test ecx, ecx
mov dword [esp + 0x120], eax
cmovs ecx, edx
add eax, 0x34
mov dword [esp + 0x128], eax
mov dword [esp + 0x124], ecx
lea eax, [ecx + 5]
mov ecx, dword [esp + 0x2c]
push ecx
mov dword [esp], 0
push 0xff000000
push edx
lea edx, [esp + 0x12c]
mov dword [esp + 0x138], eax
mov eax, dword [ecx]
push edx
push 1
push ecx
call dword [eax + 0xac]
movss xmm0, dword [esp + 0x5c]
mulss xmm0, dword [0x100128c8]
mov ecx, dword [esp + 0x28]
movss xmm2, dword [esp + 0x18]
movss xmm1, dword [esp + 0x2c]
cvttss2si edx, xmm0
push esi
push 3
call fcn.10006660
add esp, 8
cmp dword [0x10016854], 1
jne 0x100074b2
mov ecx, edi
call fcn.100058c0
mov esi, eax
test esi, esi
je 0x1000741b
mov ecx, esi
call fcn.100055e0
test eax, eax
je 0x1000741b
mov ecx, esi
call fcn.100055e0
mov ecx, dword [0x10016b8c]
push str.Head
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov edx, dword [ecx + 8]
mov ecx, eax
mov dword [esp + 0x40], 0
call edx
test eax, eax
je 0x10007405
movss xmm2, dword [eax + 0x30]
movss xmm1, dword [eax + 0x34]
movss xmm0, dword [eax + 0x38]
unpcklps xmm2, xmm1
movss dword [esp + 0x10c], xmm0
mov eax, dword [esp + 0x10c]
movaps xmmword [esp + 0xd0], xmm2
movq qword [esp + 0x34], xmm2
jmp 0x10007417
movq xmm0, qword [esp + 0x34]
mov eax, dword [esp + 0x3c]
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x30], eax
movaps xmm0, xmmword [esp + 0xd0]
sub esp, 0xc
mov ecx, dword [esp + 0x3c]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
lea ecx, [esp + 0x5c]
call fcn.10005bb0
add esp, 0xc
test al, al
je 0x100074b2
movss xmm0, dword [esp + 0x54]
mov esi, 1
subss xmm0, dword [0x100128f4]
cvttss2si eax, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
push 0
cvttss2si ecx, xmm0
test eax, eax
cmovs eax, esi
mov dword [esp + 0x130], eax
test ecx, ecx
cmovs ecx, esi
add eax, 3
push ecx
mov dword [esp], 0
push 0xffff1414
mov dword [esp + 0x140], eax
lea eax, [ecx + 3]
push esi
mov dword [esp + 0x140], ecx
lea ecx, [esp + 0x13c]
push ecx
mov dword [esp + 0x14c], eax
mov eax, dword [edi]
push esi
push edi
call dword [eax + 0xac]
cmp dword [0x100169d4], 0
je 0x100074e1
cvttss2si eax, dword [esp + 0x20]
push str.TARGET__
push 0xff00b4ff
push eax
cvttss2si eax, dword [esp + 0x30]
push eax
push dword [0x10016948]
call fcn.10005f90
add esp, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x10
jl 0x10006af6
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
xor ecx, esp
call fcn.1000f0bd
mov esp, ebp
pop ebp
ret