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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x1015b9d4]
sub esp, 0x1d0
push esi
mov esi, dword [eax]
push edi
test esi, esi
je 0x100af45f
mov ecx, 0xf412939a
call fcn.100ed590
mov edx, dword [ebp + 0x1c]
movd xmm1, dword [0x1015e818]
cvtdq2ps xmm1, xmm1
mov ecx, dword [edx + 0x1c]
movss xmm0, dword [eax + esi]
mulss xmm1, dword [ecx + 0x20]
comiss xmm0, xmm1
ja 0x100af45f
mov ecx, 0x66dc9d6d
call fcn.100ed590
cmp byte [eax + esi], 0
jne 0x100af45f
mov ecx, 0x76649c6f
call fcn.100ed590
cmp byte [eax + esi], 0
jne 0x100af45f
mov eax, dword [esi]
xor edx, edx
push dword [0x1015e7fc]
mov ecx, esi
push dword [eax + 0x430]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
mov esi, eax
mov eax, dword [0x1015e7fc]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
test esi, esi
je 0x100af45f
mov ecx, 0xb22c092c
call fcn.100ed590
cmp dword [eax + esi], 0
je 0x100af45f
mov esi, dword [0x1015b9d4]
mov ecx, 0x96ed4d1e
mov edi, dword [esi]
call fcn.100ed590
cmp dword [eax + edi], 0
jle 0x100ae890
mov ecx, dword [esp + 0x20]
xor edx, edx
push dword [esp + 0x28]
mov eax, dword [ecx]
push dword [eax + 0x734]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
test eax, eax
je 0x100af45f
mov al, byte [eax + 0xec]
test al, al
je 0x100af45f
mov esi, dword [0x1015b9d4]
mov ecx, 0x19cdc55d
call fcn.100ed590
mov ecx, dword [esp + 0x20]
mov cx, word [eax + ecx]
call fcn.100adf70
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100af45f
mov edi, dword [ebp + 0x18]
lea edx, [eax + eax*4]
cmp byte [edi + edx*8], 0
jne 0x100ae8da
mov ecx, 0x19cdc55d
call fcn.100ed590
mov ecx, dword [esp + 0x20]
mov cx, word [eax + ecx]
call fcn.100ae130
mov dword [esp + 0x2c], eax
xor ecx, ecx
lea eax, [eax + eax*4]
cmp byte [edi + eax*8], cl
cmovne ecx, dword [esp + 0x2c]
lea eax, [ecx + ecx*4]
cmp byte [edi + eax*8 + 0x25], 0
mov dword [esp + 0x18], eax
jne 0x100ae92b
mov ecx, 0xb439d47
call fcn.100ed590
mov edx, dword [ebp + 0x1c]
movd xmm1, dword [0x1015e818]
cvtdq2ps xmm1, xmm1
mov ecx, dword [edx + 0x1c]
mulss xmm1, dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
movss xmm0, dword [eax + ecx]
comiss xmm0, xmm1
ja 0x100af45f
mov eax, dword [esp + 0x18]
cmp byte [edi + eax*8 + 6], 0
jne 0x100ae955
mov esi, dword [esi]
mov ecx, 0x346c4efc
call fcn.100ed590
movss xmm0, dword [0x10150cdc]
comiss xmm0, dword [eax + esi - 8]
jb 0x100af45f
mov eax, dword [esp + 0x18]
cmp byte [edi + 0x640], 0
je 0x100ae96b
cmp byte [0x1015b9f4], 0
je 0x100af45f
cmp byte [edi + eax*8], 0
je 0x100af45f
mov ecx, dword [ebp + 0x20]
test byte [ecx + 0x30], 1
jne 0x100ae990
cmp byte [edi + eax*8 + 8], 0
jne 0x100ae990
cmp byte [edi + eax*8 + 1], 0
je 0x100af45f
mov esi, dword [esp + 0x20]
xor edx, edx
push dword [esp + 0x28]
mov ecx, esi
mov eax, dword [esi]
push dword [eax + 0x78c]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x1c]
movss xmm0, dword [edi + eax*8 + 0x18]
comiss xmm0, dword [esp + 0x1c]
jb 0x100af45f
cmp byte [edi + eax*8 + 5], 0
je 0x100aea14
mov eax, dword [esi]
xor edx, edx
push dword [esp + 0x28]
mov ecx, esi
push dword [eax + 0x71c]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
cmp eax, 5
jne 0x100aea14
mov esi, dword [0x1015b9d4]
mov ecx, 0x747d37fc
mov edi, dword [esi]
call fcn.100ed590
cmp byte [eax + edi], 0
je 0x100af45f
mov edi, dword [ebp + 0x18]
jmp 0x100aea1a
mov esi, dword [0x1015b9d4]
mov eax, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esi]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
movss xmm0, dword [edi + eax*8 + 0xc]
lea eax, [esp + 0x70]
push eax
mov eax, dword [ecx]
push dword [0x1015e7fc]
movss dword [esp + 0x68], xmm0
mov dword [esp + 0x64], 0
push dword [eax + 0x474]
lea eax, [esp + 0x88]
push eax
call fcn.100a0f40
mov ecx, dword [esp + 0x20]
xor edx, edx
push dword [esp + 0x28]
mov eax, dword [ecx]
push dword [eax + 0x734]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
test eax, eax
je 0x100aeae0
movss xmm0, dword [0x10150cc8]
comiss xmm0, dword [eax + 0x1a0]
jbe 0x100aeae0
movss xmm0, dword [eax + 0x1b8]
comiss xmm0, dword [eax + 0xdc]
jbe 0x100aeae0
mov eax, dword [0x1015b9d4]
xor edx, edx
mov ecx, dword [eax]
lea eax, [esp + 0x88]
push eax
push dword [0x1015e7fc]
mov eax, dword [ecx]
push dword [eax + 0x568]
lea eax, [esp + 0x88]
push eax
call fcn.100a0f40
lea eax, [esp + 0x88]
jmp 0x100aeaf5
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
movq qword [esp + 0x64], xmm0
lea eax, [esp + 0x64]
mov edx, dword [ebp + 0xc]
mov esi, 1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [edx + 4]
push dword [edx]
xor edx, edx
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x30], esi
mov eax, dword [ecx]
push dword [eax + 0x50]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
cmp eax, esi
jl 0x100af45f
mov edx, dword [ebp + 0x10]
push esi
mov ecx, dword [edx + 8]
push dword [edx]
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0xc]
lea eax, [esp + 0x138]
push eax
call fcn.100a0f40
mov edx, dword [0x1015e7fc]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
test eax, eax
je 0x100af021
mov ecx, dword [0x1015b9d4]
cmp eax, dword [ecx]
je 0x100af021
lea ecx, [eax + 8]
mov eax, dword [ecx]
push edx
xor edx, edx
push dword [eax + 0x24]
lea eax, [esp + 0xe0]
push eax
call fcn.100a0f40
test al, al
jne 0x100af021
mov ecx, dword [esp + 0x38]
xor edx, edx
push dword [esp + 0x34]
mov eax, dword [ecx]
push dword [eax + 0x270]
lea eax, [esp + 0xec]
push eax
call fcn.100a0f40
test al, al
je 0x100af021
mov eax, dword [0x1015b9d4]
mov ecx, dword [ebp + 0x1c]
push dword [eax]
mov edx, dword [ecx + 0x30]
mov ecx, dword [esp + 0x3c]
call edx
mov esi, dword [esp + 0x18]
test al, al
jne 0x100aebe0
cmp byte [edi + esi*8 + 3], al
je 0x100af021
mov ecx, 0xe7cc7916
call fcn.100ed590
mov ecx, dword [esp + 0x38]
cmp byte [eax + ecx], 0
jne 0x100af021
movaps xmm0, xmmword [0x10150e90]
lea eax, [esp + 0xb4]
lea edx, [esp + 0xcc]
mov dword [esp + 0xc4], 6
mov ecx, eax
mov dword [esp + 0xc8], 5
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], eax
movups xmmword [esp + 0xb4], xmm0
cmp ecx, edx
je 0x100af021
nop dword [eax]
mov ecx, dword [edi + esi*8 + 0x14]
cmp ecx, 1
jle 0x100aec52
mov eax, 0xa
sub eax, ecx
jmp 0x100aec54
mov eax, dword [eax]
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x3c]
call fcn.100a08d0
movss xmm0, dword [esp + 0x48]
lea ecx, [esp + 0x9c]
subss xmm0, dword [esp + 0x70]
mov eax, dword [ebp + 0x20]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x4c]
subss xmm0, dword [esp + 0x74]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x50]
subss xmm0, dword [esp + 0x78]
xorps xmm0, xmmword [0x10151740]
movss dword [esp + 0x24], xmm0
fld dword [esp + 0x24]
fld dword [esp + 0x30]
fst dword [esp + 0x24]
fld dword [esp + 0xc]
movss xmm1, dword [esp + 0x24]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x3c]
fxch st(1)
fpatan
addss xmm0, dword [eax + 0xc]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fpatan
mulss xmm1, dword [0x10150cd0]
fstp dword [esp + 0xc]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x9c], xmm1
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [0x10150cd0]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [eax + 0x14]
movss dword [esp + 0xa0], xmm1
xorps xmm0, xmmword [0x10151740]
movss dword [esp + 0xa4], xmm0
call fcn.100a0f70
movq xmm0, qword [eax]
movq qword [esp + 0x64], xmm0
fld dword [esp + 0x64]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x68]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mov eax, dword [eax + 8]
mulss xmm1, xmm1
mov dword [esp + 0x6c], eax
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fstp dword [esp + 0x24]
movss xmm0, dword [esp + 0x24]
comiss xmm0, dword [esp + 0x60]
ja 0x100af007
cmp byte [edi + esi*8 + 7], 0
jne 0x100aee20
movq xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x50]
push 1
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0x8c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x94]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x1c]
push dword [eax + 0x28]
push dword [eax + 0x2c]
lea eax, [esp + 0x114]
push eax
call fcn.100a0f10
add esp, 0x28
test al, al
jne 0x100af007
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x30], eax
mov eax, dword [0x1015b9d4]
mov ecx, dword [eax]
test ecx, ecx
je 0x100aef4e
lea eax, [esp + 0xcc]
mov dword [esp + 0x94], 0x101453ec
push eax
push dword [0x1015e7fc]
mov dword [esp + 0xa0], ecx
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0x474]
lea eax, [esp + 0x108]
push eax
call fcn.100a0f40
movss xmm0, dword [esp + 0x48]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aeebb
movss xmm0, dword [esp + 0x4c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aeebb
movss xmm0, dword [esp + 0x50]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aeebb
push 8
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x3c]
call fcn.100a08d0
jmp 0x100aeedc
mov eax, dword [esp + 0x50]
movq xmm0, qword [esp + 0x48]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x88]
movq qword [esp + 0x88], xmm0
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x198]
call fcn.100a0820
lea eax, [esp + 0x138]
xor edx, edx
push eax
lea eax, [esp + 0x98]
push eax
mov eax, ecx
mov ecx, dword [esp + 0x38]
push 0x46004009
push eax
push dword [esp + 0x1c]
mov eax, dword [ecx]
push dword [eax + 0x14]
lea eax, [esp + 0x12c]
push eax
call fcn.100a0f40
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x184], ecx
je 0x100aefd5
movss xmm0, dword [esp + 0x164]
comiss xmm0, dword [0x10150bd4]
ja 0x100aefd5
jmp 0x100aef52
mov ecx, dword [esp + 0x38]
cmp byte [edi + esi*8 + 4], 0
jne 0x100af007
cmp byte [edi + esi*8 + 0x24], 0
mov al, byte [edi + esi*8 + 3]
mov dword [esp + 0xc], eax
je 0x100aef89
mov eax, dword [ecx]
xor edx, edx
push dword [esp + 0x34]
push dword [eax + 0x1e8]
lea eax, [esp + 0x128]
push eax
call fcn.100a0f40
jmp 0x100aef8d
mov eax, dword [edi + esi*8 + 0x20]
mov ecx, dword [esp + 0x20]
xor edx, edx
push dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
push dword [eax + 0x734]
lea eax, [esp + 0xb0]
push eax
call fcn.100a0f40
push dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push dword [esp + 0x34]
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x44]
push eax
push dword [ebp + 0x1c]
call fcn.100ae1c0
test al, al
je 0x100af007
movss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x60]
comiss xmm1, xmm0
jbe 0x100af000
mov eax, dword [esp + 0x50]
movss dword [esp + 0x60], xmm0
movq xmm0, qword [esp + 0x48]
movq qword [esp + 0x54], xmm0
mov dword [esp + 0x5c], eax
cmp dword [edi + esi*8 + 0x14], 0
jne 0x100af021
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xcc]
add eax, 4
mov dword [esp + 0x1c], eax
cmp eax, ecx
jne 0x100aec40
mov edx, dword [ebp + 0xc]
inc dword [esp + 0x2c]
mov ecx, dword [edx + 4]
push dword [edx]
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0x50]
lea eax, [esp + 0x84]
push eax
call fcn.100a0f40
mov esi, dword [esp + 0x2c]
cmp esi, eax
jle 0x100aeb33
movss xmm4, dword [esp + 0x54]
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x5c]
movss xmm3, dword [esp + 0x58]
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jp 0x100af081
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x100af081
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100af45f
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1015856c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1015ea08]
cmp eax, dword [ecx + 4]
jle 0x100af0ed
push 0x1015ea08
call fcn.100fdcb4
add esp, 4
cmp dword [0x1015ea08], 0xffffffff
jne 0x100af0d8
mov ecx, dword [ebp + 0x20]
push 0x1015ea08
movq xmm0, qword [ecx + 0xc]
movq qword [0x1015ea0c], xmm0
mov eax, dword [ecx + 0x14]
mov dword [0x1015ea14], eax
call fcn.100fdc6a
add esp, 4
movss xmm4, dword [esp + 0x54]
xorps xmm1, xmm1
movss xmm3, dword [esp + 0x58]
movss xmm2, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx + 4]
dec eax
cmp dword [0x1015b9f0], eax
jne 0x100af151
movss xmm0, dword [0x1015ea0c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100af12f
movss xmm0, dword [0x1015ea10]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100af12f
movss xmm0, dword [0x1015ea14]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100af151
mov esi, dword [esp + 0x18]
cmp byte [edi + esi*8 + 2], 0
je 0x100af155
movq xmm0, qword [0x1015ea0c]
movq qword [ecx + 0xc], xmm0
mov eax, dword [0x1015ea14]
mov dword [ecx + 0x14], eax
jmp 0x100af155
mov esi, dword [esp + 0x18]
subss xmm2, dword [esp + 0x78]
subss xmm4, dword [esp + 0x70]
subss xmm3, dword [esp + 0x74]
xorps xmm2, xmmword [0x10151740]
movss dword [esp + 0xc], xmm2
fld dword [esp + 0xc]
movss dword [esp + 0x1c], xmm4
fld dword [esp + 0x1c]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
movss dword [esp + 0x24], xmm3
fld dword [esp + 0x24]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
movss xmm2, dword [esp + 0x3c]
addss xmm2, dword [ecx + 0xc]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [esp + 0x40]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
fxch st(1)
fpatan
addss xmm1, dword [ecx + 0x10]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
fpatan
mulss xmm0, dword [0x10150cd0]
fstp dword [esp + 0xc]
subss xmm0, xmm2
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x10150cd0]
subss xmm0, xmm1
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [ecx + 0x14]
lea ecx, [esp + 0x64]
xorps xmm0, xmmword [0x10151740]
movss dword [esp + 0x6c], xmm0
call fcn.100a0f70
movss xmm4, dword [0x10151710]
movss xmm1, dword [0x1015e6c8]
mov byte [esp + 0x17], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x3c], xmm0
movss xmm3, dword [esp + 0x3c]
movss xmm2, dword [esp + 0x40]
movaps xmm0, xmm3
andps xmm0, xmm4
mov dword [esp + 0x44], eax
comiss xmm0, xmm1
ja 0x100af27e
movaps xmm0, xmm2
andps xmm0, xmm4
comiss xmm0, xmm1
jbe 0x100af2e3
movaps xmm0, xmm1
movss dword [esp + 0x1c], xmm1
xorps xmm0, xmmword [0x10151740]
lea eax, [esp + 0x3c]
comiss xmm3, xmm0
lea ecx, [esp + 0xc]
mov byte [esp + 0x17], 1
movss dword [esp + 0xc], xmm0
cmovae ecx, eax
lea eax, [esp + 0x1c]
comiss xmm1, xmm3
cmovae eax, ecx
lea ecx, [esp + 0xc]
comiss xmm2, xmm0
movss xmm3, dword [eax]
lea eax, [esp + 0x40]
movss dword [esp + 0x3c], xmm3
cmovae ecx, eax
movss dword [esp + 0x1c], xmm1
comiss xmm1, xmm2
lea eax, [esp + 0x1c]
movss dword [esp + 0xc], xmm0
cmovae eax, ecx
movss xmm2, dword [eax]
movss xmm1, dword [0x10150be4]
divss xmm1, dword [edi + esi*8 + 0x10]
mov eax, dword [ebp + 0x20]
add eax, 0xc
movaps xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, dword [eax]
movss dword [eax], xmm0
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x44]
mulss xmm0, xmm2
addss xmm1, dword [eax + 8]
addss xmm0, dword [eax + 4]
movss dword [eax + 8], xmm1
movss dword [eax + 4], xmm0
cmp byte [edi + esi*8 + 2], 0
jne 0x100af34b
mov edx, dword [ebp + 0xc]
push eax
mov ecx, dword [edx + 4]
push dword [edx]
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0x4c]
lea eax, [esp + 0xb4]
push eax
call fcn.100a0f40
cmp byte [edi + esi*8 + 9], 0
je 0x100af3c1
mov ecx, 0xb439d47
call fcn.100ed590
mov ecx, dword [ebp + 0x1c]
movd xmm0, dword [0x1015e818]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0x1c]
mulss xmm0, dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
comiss xmm0, dword [eax + ecx]
jb 0x100af3c1
mov eax, dword [ecx]
xor edx, edx
push dword [esp + 0x28]
push dword [eax + 0x71c]
lea eax, [esp + 0xb0]
push eax
call fcn.100a0f40
cmp eax, 5
jne 0x100af3c1
mov eax, dword [0x1015b9d4]
mov ecx, 0x747d37fc
mov esi, dword [eax]
call fcn.100ed590
cmp byte [eax + esi], 0
mov esi, dword [esp + 0x18]
jne 0x100af3c1
mov eax, dword [ebp + 0x20]
or dword [eax + 0x30], 0x800
cmp byte [edi + esi*8 + 8], 0
je 0x100af42f
mov ecx, 0xb439d47
call fcn.100ed590
mov ecx, dword [ebp + 0x1c]
movd xmm0, dword [0x1015e818]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0x1c]
mulss xmm0, dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
comiss xmm0, dword [eax + ecx]
jb 0x100af42f
mov al, byte [esp + 0x17]
test al, al
jne 0x100af437
mov eax, dword [ecx]
xor edx, edx
push dword [esp + 0x28]
push dword [eax + 0x78c]
lea eax, [esp + 0xb0]
push eax
call fcn.100a0f40
movss xmm0, dword [edi + esi*8 + 0x1c]
mov ecx, dword [ebp + 0x20]
fstp dword [esp + 0xc]
comiss xmm0, dword [esp + 0xc]
jb 0x100af46a
or dword [ecx + 0x30], 1
jmp 0x100af46a
mov al, byte [esp + 0x17]
test al, al
je 0x100af467
mov ecx, dword [ebp + 0x20]
and dword [ecx + 0x30], 0xfffffffe
test al, al
je 0x100af46a
movq xmm0, qword [ecx + 0xc]
movq qword [0x1015ea0c], xmm0
mov eax, dword [ecx + 0x14]
mov dword [0x1015ea14], eax
mov eax, dword [ecx + 4]
mov dword [0x1015b9f0], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [ebp + 0x20]
movss xmm0, dword [edi + esi*8 + 0x10]
comiss xmm0, dword [0x10150be4]
ja 0x100af442
xorps xmm0, xmm0
mov dword [0x1015ea14], 0
movq qword [0x1015ea0c], xmm0
mov eax, dword [ecx + 4]
pop edi
mov dword [0x1015b9f0], eax
pop esi
mov esp, ebp
pop ebp
ret 0x1c