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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x1034973c]
sub esp, 0x88
mov ecx, dword [eax + 0x1c]
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
nop dword [eax]
test al, al
je 0x101a068a
mov eax, dword [0x1034973c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x101a068a
mov esi, dword [0x1034972c]
xorps xmm0, xmm0
mov dword [esp + 0x2c], esi
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm0
mov ecx, dword [esi]
movss dword [esp + 0x38], xmm0
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
test al, al
je 0x1019fefe
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [0x1034972c]
mov dword [esp + 0x2c], esi
movss xmm0, dword [eax]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 8]
movss dword [esp + 0x38], xmm0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
add eax, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x50], eax
cmp edx, eax
je 0x101a068a
mov eax, dword ds:[esi + 0xc]
mov ecx, edx
dec eax
shr ecx, 1
and ecx, eax
mov edi, edx
mov eax, dword [esi + 8]
and edi, 1
mov dword [esp + 0x24], edi
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + edi*8]
mov edx, dword [eax]
test edx, edx
je 0x101a0676
cmp byte [eax + 7], 0
jne 0x101a0676
cmp byte [eax + 5], 0
je 0x101a0676
cmp byte [eax + 4], 0
jne 0x101a0676
cmp byte [eax + 6], 0
jne 0x101a0676
cmp byte [eax + 0x38], 0
je 0x101a0676
mov edx, dword [edx + 0xf80]
sub edx, 0x94
mov dword [esp + 0xc], edx
je 0x101a0676
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x24]
mov dword [edx + 0x18], eax
mov ecx, dword [ecx + edi*8]
mov eax, dword [ecx + 0x4c]
cmp byte [eax + 5], 0
je 0x1019ffb1
movss xmm0, dword [eax]
mov eax, dword [ecx + 0x48]
jmp 0x101a0671
mov eax, dword [0x10349734]
mov eax, dword [eax + 4]
cmp byte [eax + 1], 0
jne 0x1019ffce
mov eax, dword [ecx + 0x48]
mov dword [eax + 0x2c], 0
jmp 0x101a0676
cmp byte [esp + 0x23], 0
je 0x101a0676
mov eax, dword [ecx + 0x54]
mov dword [esp + 0x18], eax
cmp dword [eax + 0x18], 0
je 0x101a0676
mov ecx, dword [ecx]
call fcn.101a23a0
mov dword [esp + 0x10], eax
test eax, eax
je 0x101a006b
mov ecx, eax
call fcn.101a1ce0
cmp dword [eax + 0x658], 8
jne 0x101a006b
mov ecx, dword [esp + 0x10]
call fcn.10074d40
movss xmm0, dword [eax]
comiss xmm0, dword [0x102f9ec0]
ja 0x101a0053
mov eax, dword [esp + 0xc]
sub esp, 8
movss xmm0, dword [eax + 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d4a17
movss xmm0, dword [0x102fa158]
add esp, 8
fstp dword [esp + 0x10]
comiss xmm0, dword [esp + 0x10]
jbe 0x101a006b
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*8]
add eax, 0x48
mov eax, dword [eax]
mov dword [eax + 0x30], 0
jmp 0x101a0676
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*8]
add eax, 0x48
mov dword [esp + 0x10], eax
mov eax, dword [0x10349734]
mov eax, dword [eax + 4]
cmp byte [eax + 2], 0
je 0x101a01db
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
dec ecx
and ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
push ecx
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x64]
movss xmm2, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
movss xmm0, dword [eax + 0x1c]
lea eax, [esp + 0x7c]
subss xmm2, dword [esp + 0x34]
subss xmm1, dword [esp + 0x38]
subss xmm0, dword [esp + 0x3c]
push eax
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x70], xmm0
call fcn.101a3f40
mov eax, dword [0x1034973c]
lea edx, [esp + 0x54]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov ecx, dword [eax + 0x1c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x4c]
movss xmm0, dword [0x102fa074]
sub esp, 8
divss xmm0, dword [0x102fa1d4]
movss xmm1, dword [esp + 0x84]
subss xmm1, dword [esp + 0x60]
mulss xmm0, xmm1
movss dword [esp + 0x18], xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d4da0
movss xmm0, dword [0x102fa074]
divss xmm0, dword [0x102fa1d4]
fstp dword [esp + 0x14]
mulss xmm0, dword [esp + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d4d50
movss xmm0, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x18]
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [esp + 0x20]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d4df0
movss xmm0, dword [0x102fa1d4]
xorps xmm1, xmm1
divss xmm0, dword [0x102fa074]
mov eax, dword [esp + 0x24]
add esp, 0x10
mov eax, dword [eax + edi*8]
mov eax, dword [eax + 0x48]
fstp dword [esp + 0x10]
mulss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
jbe 0x101a01cf
mov dword [eax + 0x30], 0x42b20000
jmp 0x101a0676
mov dword [eax + 0x30], 0xc2b20000
jmp 0x101a0676
mov edx, dword [esp + 0x18]
xorps xmm3, xmm3
mov eax, dword [edx + 0x18]
mov dword [esp + 0x1c], eax
add eax, 0xffffffff
mov dword [esp + 0xc], eax
je 0x101a0232
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
dec eax
mov esi, dword [esp + 0xc]
mov edi, dword [edx + 0xc]
mov dword [esp + 0x18], eax
lea edx, [ecx + 1]
and ecx, eax
mov eax, edx
and eax, dword [esp + 0x18]
mov ecx, dword [edi + ecx*4]
mov eax, dword [edi + eax*4]
movss xmm0, dword [ecx + 0x30]
mov ecx, edx
subss xmm0, dword [eax + 0x30]
mov eax, dword [esp + 0x18]
addss xmm3, xmm0
sub esi, 1
jne 0x101a0204
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xc]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
add edx, 0xc
inc eax
movss xmm1, dword [edx]
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
xorps xmm1, xmmword [0x102fa780]
addsd xmm0, qword [eax*8 + 0x102fa5b0]
movss dword [esp + 0xc], xmm1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm0
comiss xmm1, xmm3
movss dword [esp + 0x1c], xmm3
seta al
test al, al
lea eax, [esp + 0x1c]
cmove ecx, eax
comiss xmm3, dword [edx]
seta al
test al, al
cmovne ecx, edx
sub esp, 8
movss xmm0, dword [ecx]
movss dword [esp + 0x14], xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d4a17
mov edx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x2c]
xorps xmm3, xmm3
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
comiss xmm0, dword [0x102fa138]
mov eax, dword [edx + edi*8]
mov eax, dword [eax + 0x48]
movss dword [esp + 0x4c], xmm3
seta cl
mov byte [eax + 4], cl
mov ecx, dword [edx + edi*8]
mov eax, dword [ecx + 0x48]
cmp byte [eax + 4], 0
je 0x101a0305
movss xmm0, dword [esp + 0xc]
comiss xmm3, xmm0
jbe 0x101a066b
xorps xmm0, xmmword [0x102fa780]
nop
jmp 0x101a066b
mov ecx, dword [ecx]
call fcn.10007a80
mov edx, dword [0x1034972c]
movss xmm0, dword [0x102fa268]
mov dword [esp + 0xc], eax
movss dword [esp + 0x28], xmm0
mov ecx, dword [edx]
mov dword [esp + 0x18], edx
cmp byte [ecx + 8], 0
je 0x101a03b1
mov ecx, dword [ecx]
call fcn.10007a80
mov ecx, dword [esp + 0xc]
sub esp, 8
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
subss xmm2, dword [ecx + 4]
subss xmm1, dword [ecx]
movss xmm0, dword [eax + 8]
subss xmm0, dword [ecx + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
call fcn.100d4ca0
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x18]
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
mov eax, dword [eax + edi*8]
mov edx, dword [edx]
movss dword [esp + 0x28], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [edx + 0xc]
mov dword [ecx], eax
mov edx, dword [0x1034972c]
mov dword [esp + 0x18], edx
mov edi, dword ds:[edx + 0x10]
mov eax, dword [edx + 0x14]
add eax, edi
mov dword [esp + 0x48], eax
cmp edi, eax
je 0x101a0491
mov esi, dword [esp + 0x24]
nop dword [eax]
mov eax, dword [edx + 0xc]
mov ecx, edi
dec eax
shr ecx, 1
and ecx, eax
mov eax, dword [edx + 8]
mov edx, edi
and edx, 1
mov dword [esp + 0x40], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x44], eax
mov eax, dword [eax + edx*8]
mov ecx, dword [eax]
test ecx, ecx
je 0x101a047e
cmp byte ds:[eax + 5], 0
je 0x101a047e
cmp byte [eax + 4], 0
jne 0x101a047e
cmp byte [eax + 6], 0
je 0x101a047e
call fcn.10007a80
mov ecx, dword [esp + 0xc]
sub esp, 8
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
subss xmm0, dword [ecx]
subss xmm1, dword [ecx + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100d4ca0
movss xmm1, dword [esp + 0x30]
add esp, 8
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
comiss xmm1, xmm0
jbe 0x101a047e
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
movss dword [esp + 0x28], xmm0
mov eax, dword [ecx + eax*8]
movsx ecx, byte [eax + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + esi*8]
mov eax, dword [eax + 0x48]
mov dword [eax], ecx
mov edx, dword [esp + 0x18]
inc edi
cmp edi, dword [esp + 0x48]
jne 0x101a03d0
mov esi, dword [esp + 0x2c]
mov eax, dword [0x1034973c]
mov edi, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x24]
mov eax, dword [edi + eax*8]
mov eax, dword [eax + 0x48]
push dword [eax]
call edx
test eax, eax
je 0x101a059e
mov ecx, eax
call fcn.10007a80
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + eax*8]
mov ecx, dword [ecx]
call fcn.10007a80
push ecx
lea ecx, [esp + 0x70]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x88]
subss xmm2, dword [edi]
subss xmm1, dword [edi + 4]
subss xmm0, dword [edi + 8]
push eax
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x7c], xmm0
call fcn.101a3f40
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x88]
movss xmm1, dword [0x102fa1d4]
movss xmm2, dword [0x102fa228]
mov eax, dword [edx + ecx*8]
mov edi, dword [eax + 0x48]
subss xmm0, dword [edi + 0x24]
comiss xmm0, xmm1
jbe 0x101a0548
subss xmm0, xmm2
movss xmm3, dword [0x102fa2e0]
comiss xmm3, xmm0
jbe 0x101a0559
addss xmm0, xmm2
comiss xmm0, dword [0x102fa1a8]
jbe 0x101a0566
subss xmm0, xmm1
movss xmm2, dword [0x102fa2d4]
comiss xmm2, xmm0
jbe 0x101a0577
addss xmm0, xmm1
movss xmm1, dword [0x102fa2c8]
comiss xmm1, xmm0
jbe 0x101a058d
mov dword [edi + 8], 2
jmp 0x101a05a6
xor eax, eax
comiss xmm0, dword [0x102fa0e0]
seta al
mov dword [edi + 8], eax
jmp 0x101a05a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + ecx*8]
xorps xmm3, xmm3
movss xmm4, dword [0x102f9fe4]
xorps xmm2, xmm2
mov eax, dword [eax + 0x48]
movd xmm1, dword [eax + 0x10]
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm1, xmm1
mov edi, dword [eax + 0x2c]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm4
addss xmm0, xmm4
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x101a05f8
nop
test edi, edi
jne 0x101a05ee
movss xmm0, dword [eax + 0x34]
comiss xmm0, xmm1
ja 0x101a05f8
mov dword [eax + 0x2c], 0
movaps xmm2, xmm1
movd xmm1, dword [eax + 0x18]
movd xmm0, dword [eax + 0x1c]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, xmm4
addss xmm0, xmm4
divss xmm1, xmm0
comiss xmm1, xmm2
jbe 0x101a0632
cmp edi, 1
jne 0x101a0628
movss xmm0, dword [eax + 0x34]
comiss xmm0, xmm1
ja 0x101a0632
mov dword [eax + 0x2c], 1
movaps xmm2, xmm1
movss dword [eax + 0x34], xmm2
mov eax, dword [edx + ecx*8]
mov ecx, dword [eax + 0x48]
mov eax, dword [ecx + 8]
sub eax, 0
je 0x101a0656
sub eax, 1
je 0x101a0656
sub eax, 1
jne 0x101a0665
movss xmm0, dword [ecx + 0xc]
jmp 0x101a066b
movss xmm0, dword [ecx + 0xc]
mulss xmm0, dword [0x102fa2ac]
jmp 0x101a066b
movss xmm0, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movss dword [eax + 0x30], xmm0
mov edx, dword ds:[esp + 0x3c]
inc edx
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x50]
jne 0x1019ff16
pop edi
pop esi
mov esp, ebp
pop ebp
ret