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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0xa5e224]
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 [0x8ce194]
movss dword [esp + 0x38], xmm2
mulss xmm2, dword [ebx + 0x54]
movss dword [esp + 0x30], xmm2
test eax, eax
je 0x726f43
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 0x726843
push 0x800
push dword [esi + 0x1c]
mov dword [esi + 0x24], 0x40
call fcn.00805bed
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726859
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 0x726918
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.00726290
mov eax, dword [ebx + 4]
add edi, 3
dec eax
add esp, 0x2c
cmp edi, eax
jl 0x726870
mov ebx, dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x20]
cmp ecx, 2
jl 0x726f26
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 0x72696f
dec ecx
mov edi, 1
mov dword [esi + 0x20], ecx
cmp byte [ebx + 0x7c], 0
jle 0x726eea
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 0x7269f0
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 0x7269e1
lea eax, [edi + edi]
test edi, edi
jg 0x7269bb
mov eax, 0x40
mov dword [esi + 0x24], eax
shl eax, 5
push eax
push edx
call fcn.00805bed
mov edx, eax
add esp, 8
mov dword [esi + 0x1c], edx
test edx, edx
je 0x7269f0
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 0x726a18
mov dword [esi + 0x30], eax
shl eax, 5
push eax
push dword [esi + 0x28]
call fcn.00805bed
mov ecx, eax
add esp, 8
mov dword [esi + 0x28], ecx
test ecx, ecx
je 0x726a34
mov eax, dword [esi + 0x20]
jmp 0x726a1b
mov ecx, dword [esi + 0x28]
shl eax, 5
push eax
push dword [esi + 0x1c]
push ecx
call fcn.008020c0
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 0x726a89
push 0x800
push dword [esi + 0x1c]
mov dword [esi + 0x24], 0x40
call fcn.00805bed
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726a99
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 0x726af1
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 0x726ad0
movss dword [esp + 0xc], xmm1
cmp edx, edi
jge 0x726b14
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 0x726b02
movss dword [esp + 0xc], xmm1
test bl, 1
je 0x726b26
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.0081b5b0
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x726b69
addss xmm1, dword [esp + 0xc]
movss xmm0, dword [ebx + 0x5c]
comiss xmm1, xmm0
mov eax, dword [esp + 0x18]
jbe 0x726b90
inc eax
subss xmm1, xmm0
cdq
idiv edi
mov eax, edx
movss xmm0, dword [ebx + eax*4 + 0x5c]
comiss xmm1, xmm0
ja 0x726b77
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 0x726e1e
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 0x726c26
sqrtsd xmm0, xmm0
jmp 0x726c2b
call fcn.0081ac30
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 0x726e51
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 0x726cc3
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 0x726cc3
or byte [edx + edi - 4], 1
jmp 0x726d17
mov edx, dword [esi + 0x24]
lea eax, [ecx + 1]
cmp eax, edx
jle 0x726cfb
lea eax, [edx + edx]
test edx, edx
jg 0x726cd9
mov eax, 0x40
mov dword [esi + 0x24], eax
shl eax, 5
push eax
push dword [esi + 0x1c]
call fcn.00805bed
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726d17
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 0x726d62
test edi, edi
je 0x726d62
push dword [esp + 0x1c]
movss xmm0, dword [esp + 0x40]
push ecx
movss dword [esp], xmm0
push esi
call fcn.00727670
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.007253c0
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 0x726de5
push 0x800
push dword [esi + 0x1c]
mov dword [esi + 0x24], 0x40
call fcn.00805bed
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726e02
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 0x726be0
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi + 0x20]
cmp eax, 1
jle 0x726f26
cmp dword [esp + 0x2c], 0
je 0x726f26
movss xmm0, dword [esp + 0x30]
push ecx
movss dword [esp], xmm0
push dword [esp + 0x38]
push dword [esp + 0x24]
push 0
push eax
jmp 0x726f1a
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 0x726eae
lea eax, [ecx + ecx]
test ecx, ecx
jg 0x726e8b
mov eax, 0x40
mov dword [esi + 0x24], eax
shl eax, 5
push eax
push dword [esi + 0x1c]
call fcn.00805bed
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x726ec1
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 0x726e12
push dword [esp + 0x1c]
movss xmm0, dword [esp + 0x40]
push ecx
movss dword [esp], xmm0
push esi
call fcn.00727670
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.007253c0
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 0x7267f0
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00800392
mov esp, ebp
pop ebp
ret