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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0xa5d1d4]
xor eax, esp
mov dword [esp + 0x80], eax
movss xmm1, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
movss xmm0, dword [ebx + 0x80]
movsx eax, byte [ebx + 0x7d]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [ebp + 0x10]
movaps xmm2, xmm0
mov dword [esp + 0x1c], eax
movsx eax, byte [ebx + 0x7e]
addss xmm2, xmm1
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x130]
mov dword [esp + 0x20], eax
mulss xmm2, dword [0x8cd114]
movss dword [esp + 0x38], xmm2
mulss xmm2, dword [ebx + 0x54]
movss dword [esp + 0x30], xmm2
test eax, eax
je 0x726e13
nop dword [eax]
mov dword [esi + 0x20], 0
mov eax, dword [eax]
mulss xmm0, dword [eax]
mulss xmm1, dword [eax + 4]
xor eax, eax
cmp dword [esi + 0x24], 1
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x24], xmm1
jge 0x726713
push 0x800
push dword [esi + 0x1c]
mov dword [esi + 0x24], 0x40
call fcn.00805a2d
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726729
mov eax, dword [esi + 0x20]
movss xmm0, dword [esp + 0x14]
movss xmm1, dword [esp + 0x24]
shl eax, 5
add eax, dword [esi + 0x1c]
movss dword [eax], xmm0
movss dword [eax + 4], xmm1
mov byte [eax + 0x1c], 1
inc dword [esi + 0x20]
mov edx, dword [esp + 0x20]
xor edi, edi
mov eax, dword [edx + 4]
dec eax
test eax, eax
jle 0x7267e8
mov ebx, edx
nop dword [eax]
mov eax, dword [ebx]
movss xmm2, dword [ebp + 0x14]
movss xmm1, dword [ebp + 0x10]
movaps xmm0, xmm2
push 1
mulss xmm0, dword [eax + edi*8 + 0x1c]
push 0
sub esp, 0x20
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + edi*8 + 0x18]
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [eax + edi*8 + 0x14]
movss dword [esp + 0x14], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + edi*8 + 0x10]
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [eax + edi*8 + 0xc]
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + edi*8 + 8]
movss dword [esp + 8], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [eax + edi*8 + 4]
movss dword [esp + 4], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + edi*8]
movss dword [esp], xmm0
push esi
call fcn.00726160
mov eax, dword [ebx + 4]
add edi, 3
dec eax
add esp, 0x2c
cmp edi, eax
jl 0x726740
mov ebx, dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x20]
cmp ecx, 2
jl 0x726df6
movsx edi, byte [edx + 8]
mov eax, ecx
mov edx, dword [esi + 0x1c]
movss xmm2, dword [esi + 0xc]
shl eax, 5
mulss xmm2, xmm2
movss xmm1, dword [edx]
subss xmm1, dword [eax + edx - 0x20]
movss xmm0, dword [edx + 4]
subss xmm0, dword [eax + edx - 0x1c]
xor eax, eax
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm2, xmm1
seta al
test eax, eax
je 0x72683f
dec ecx
mov edi, 1
mov dword [esi + 0x20], ecx
cmp byte [ebx + 0x7c], 0
jle 0x726dba
xor eax, eax
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], eax
xorps xmm0, xmm0
movss dword [esp + 0x24], xmm0
test edi, edi
je 0x7268c0
movups xmm0, xmmword [edx]
mov edi, dword [esi + 0x24]
lea eax, [ecx + 1]
movups xmm1, xmmword [edx + 0x10]
movups xmmword [esp + 0x40], xmm0
movups xmmword [esp + 0x78], xmm1
cmp eax, edi
jle 0x7268b1
lea eax, [edi + edi]
test edi, edi
jg 0x72688b
mov eax, 0x40
mov dword [esi + 0x24], eax
shl eax, 5
push eax
push edx
call fcn.00805a2d
mov edx, eax
add esp, 8
mov dword [esi + 0x1c], edx
test edx, edx
je 0x7268c0
mov ecx, dword [esi + 0x20]
movups xmm0, xmmword [esp + 0x40]
movups xmm1, xmmword [esp + 0x78]
shl ecx, 5
movups xmmword [ecx + edx], xmm0
movups xmmword [ecx + edx + 0x10], xmm1
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, dword [esi + 0x30]
jle 0x7268e8
mov dword [esi + 0x30], eax
shl eax, 5
push eax
push dword [esi + 0x28]
call fcn.00805a2d
mov ecx, eax
add esp, 8
mov dword [esi + 0x28], ecx
test ecx, ecx
je 0x726904
mov eax, dword [esi + 0x20]
jmp 0x7268eb
mov ecx, dword [esi + 0x28]
shl eax, 5
push eax
push dword [esi + 0x1c]
push ecx
call fcn.00801f00
mov eax, dword [esi + 0x20]
add esp, 0xc
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x20], 0
xor eax, eax
cmp dword [esi + 0x24], 1
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x58], xmm0
movups xmmword [esp + 0x40], xmm1
movups xmmword [esp + 0x68], xmm1
jge 0x726959
push 0x800
push dword [esi + 0x1c]
mov dword [esi + 0x24], 0x40
call fcn.00805a2d
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726969
mov eax, dword [esi + 0x20]
movups xmm0, xmmword [esp + 0x78]
movups xmm1, xmmword [esp + 0x40]
shl eax, 5
add eax, dword [esi + 0x1c]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
inc dword [esi + 0x20]
mov bl, byte [ebx + 0x7c]
xorps xmm1, xmm1
movsx edi, bl
xor edx, edx
movss dword [esp + 0xc], xmm1
cmp edi, 4
jl 0x7269c1
mov eax, dword [ebp + 0xc]
lea ecx, [edi - 4]
shr ecx, 2
add eax, 0x60
inc ecx
lea edx, [ecx*4]
nop dword [eax]
nop word [eax + eax]
addss xmm1, dword [eax - 4]
addss xmm1, dword [eax]
addss xmm1, dword [eax + 4]
addss xmm1, dword [eax + 8]
add eax, 0x10
sub ecx, 1
jne 0x7269a0
movss dword [esp + 0xc], xmm1
cmp edx, edi
jge 0x7269e4
mov eax, dword [ebp + 0xc]
mov ecx, edi
lea eax, [eax + edx*4]
add eax, 0x5c
sub ecx, edx
addss xmm1, dword [eax]
add eax, 4
sub ecx, 1
jne 0x7269d2
movss dword [esp + 0xc], xmm1
test bl, 1
je 0x7269f6
movaps xmm0, xmm1
addss xmm1, xmm0
movss dword [esp + 0xc], xmm1
mov ebx, dword [ebp + 0xc]
movss xmm0, dword [ebx + 0x58]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x40], xmm0
xorps xmm0, xmm0
fld qword [esp + 0x40]
cvtss2sd xmm0, xmm1
movsd qword [esp + 0x40], xmm0
fld qword [esp + 0x40]
call fcn.0081b410
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x726a39
addss xmm1, dword [esp + 0xc]
movss xmm0, dword [ebx + 0x5c]
comiss xmm1, xmm0
mov eax, dword [esp + 0x18]
jbe 0x726a60
inc eax
subss xmm1, xmm0
cdq
idiv edi
mov eax, edx
movss xmm0, dword [ebx + eax*4 + 0x5c]
comiss xmm1, xmm0
ja 0x726a47
mov dword [esp + 0x18], eax
cmp dword [esi + 0x2c], 1
movss xmm0, dword [ebx + eax*4 + 0x5c]
subss xmm0, xmm1
mov dword [esp + 0x28], 1
mulss xmm0, dword [esp + 0x38]
movss dword [esp + 0x14], xmm0
jle 0x726cee
movss xmm1, dword [esp + 0x5c]
mov ebx, 0x20
movss xmm0, dword [esp + 0x58]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm0
nop word [eax + eax]
mov edi, dword [esi + 0x28]
movss xmm2, dword [ebx + edi]
subss xmm2, xmm0
movss xmm0, dword [ebx + edi + 4]
subss xmm0, xmm1
movss dword [esp + 0x54], xmm2
movaps xmm1, xmm0
movss dword [esp + 0x40], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x726af6
sqrtsd xmm0, xmm0
jmp 0x726afb
call fcn.0081aa70
movss xmm3, dword [esp + 0x24]
xorps xmm2, xmm2
movss xmm1, dword [esp + 0x14]
cvtsd2ss xmm2, xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
comiss xmm0, xmm1
jbe 0x726d21
subss xmm1, xmm3
mov ecx, dword [esi + 0x20]
divss xmm1, xmm2
movaps xmm3, xmm1
mulss xmm1, dword [esp + 0x40]
mulss xmm3, dword [esp + 0x54]
addss xmm1, dword [esp + 0x10]
addss xmm3, dword [esp + 0xc]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm3
test ecx, ecx
jle 0x726b93
mov edi, dword [esi + 0x1c]
mov edx, ecx
movss xmm2, dword [esi + 0xc]
movaps xmm0, xmm3
shl edx, 5
xor eax, eax
mulss xmm2, xmm2
subss xmm1, dword [edx + edi - 0x1c]
subss xmm0, dword [edx + edi - 0x20]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm2, xmm1
seta al
test eax, eax
je 0x726b93
or byte [edx + edi - 4], 1
jmp 0x726be7
mov edx, dword [esi + 0x24]
lea eax, [ecx + 1]
cmp eax, edx
jle 0x726bcb
lea eax, [edx + edx]
test edx, edx
jg 0x726ba9
mov eax, 0x40
mov dword [esi + 0x24], eax
shl eax, 5
push eax
push dword [esi + 0x1c]
call fcn.00805a2d
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726be7
mov ecx, dword [esi + 0x20]
movss xmm3, dword [esp + 0xc]
movss xmm0, dword [esp + 0x10]
shl ecx, 5
add ecx, dword [esi + 0x1c]
movss dword [ecx], xmm3
movss dword [ecx + 4], xmm0
mov byte [ecx + 0x1c], 1
inc dword [esi + 0x20]
cmp dword [esi + 0x20], 1
mov edi, dword [esp + 0x2c]
jle 0x726c32
test edi, edi
je 0x726c32
push dword [esp + 0x1c]
movss xmm0, dword [esp + 0x40]
push ecx
movss dword [esp], xmm0
push esi
call fcn.00727550
movss xmm0, dword [esp + 0x3c]
add esp, 8
movss dword [esp], xmm0
push dword [esp + 0x38]
push dword [esp + 0x24]
push 0
push dword [esi + 0x20]
push dword [esi + 0x1c]
push esi
call fcn.00725290
add esp, 0x1c
xor eax, eax
movss xmm0, dword [esp + 0x38]
test edi, edi
movss xmm2, dword [esp + 0xc]
mov edi, dword [ebp + 0xc]
sete al
movss dword [esp + 0x58], xmm2
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
movsx ecx, byte [edi + 0x7c]
inc eax
cdq
idiv ecx
cmp dword [esi + 0x24], 1
mov eax, edx
mov byte [esp + 0x74], 1
mov dword [esp + 0x18], eax
mulss xmm0, dword [edi + eax*4 + 0x5c]
mov dword [esi + 0x20], 0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x5c], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x24], xmm0
jge 0x726cb5
push 0x800
push dword [esi + 0x1c]
mov dword [esi + 0x24], 0x40
call fcn.00805a2d
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726cd2
mov eax, dword [esi + 0x20]
movups xmm0, xmmword [esp + 0x58]
shl eax, 5
add eax, dword [esi + 0x1c]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x68]
movups xmmword [eax + 0x10], xmm0
inc dword [esi + 0x20]
mov eax, dword [esp + 0x28]
movss xmm0, dword [esp + 0xc]
movss xmm1, dword [esp + 0x10]
cmp eax, dword [esi + 0x2c]
jl 0x726ab0
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi + 0x20]
cmp eax, 1
jle 0x726df6
cmp dword [esp + 0x2c], 0
je 0x726df6
movss xmm0, dword [esp + 0x30]
push ecx
movss dword [esp], xmm0
push dword [esp + 0x38]
push dword [esp + 0x24]
push 0
push eax
jmp 0x726dea
movups xmm1, xmmword [ebx + edi + 0x10]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
inc eax
movss dword [esp + 0x24], xmm0
movups xmm0, xmmword [ebx + edi]
movups xmmword [esp + 0x40], xmm1
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x58], xmm0
movups xmmword [esp + 0x68], xmm1
cmp eax, ecx
jle 0x726d7e
lea eax, [ecx + ecx]
test ecx, ecx
jg 0x726d5b
mov eax, 0x40
mov dword [esi + 0x24], eax
shl eax, 5
push eax
push dword [esi + 0x1c]
call fcn.00805a2d
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726d91
movups xmm0, xmmword [esp + 0x78]
movups xmm1, xmmword [esp + 0x40]
mov eax, dword [esi + 0x20]
shl eax, 5
add eax, dword [esi + 0x1c]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
inc dword [esi + 0x20]
mov eax, dword [esp + 0x28]
movss xmm1, dword [esp + 0x5c]
inc eax
movss xmm0, dword [esp + 0x58]
add ebx, 0x20
mov dword [esp + 0x28], eax
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm0
jmp 0x726ce2
push dword [esp + 0x1c]
movss xmm0, dword [esp + 0x40]
push ecx
movss dword [esp], xmm0
push esi
call fcn.00727550
movss xmm0, dword [esp + 0x3c]
add esp, 8
movss dword [esp], xmm0
push dword [esp + 0x38]
push dword [esp + 0x24]
push edi
push dword [esi + 0x20]
push dword [esi + 0x1c]
push esi
call fcn.00725290
add esp, 0x1c
mov eax, dword [esp + 0x20]
movss xmm0, dword [ebp + 0x10]
movss xmm1, dword [ebp + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x7266c0
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.008001d2
mov esp, ebp
pop ebp
ret