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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push esi
call fcn.00401c50
mov esi, eax
push str._nEnter_Major_Radius:
call fcn.00403c10
fstp qword [esp + 0x5c]
movsd xmm0, qword [esp + 0x5c]
andps xmm0, xmmword [0x423180]
push str._nEnter_Minor_Radius:
movsd qword [esp + 0x10], xmm0
call fcn.00403c10
movsd xmm1, qword [esp + 0x10]
add esp, 8
fstp qword [esp + 0x58]
movsd xmm2, qword [esp + 0x58]
andps xmm2, xmmword [0x423180]
comisd xmm2, xmm1
movsd qword [esp + 0x18], xmm2
ja 0x401751
movaps xmm0, xmm1
mulsd xmm0, xmm1
movaps xmm1, xmm2
mulsd xmm1, xmm2
subsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4017c3
sqrtsd xmm0, xmm0
jmp 0x4017c8
call fcn.0040f980
movsd xmm1, qword [esp + 8]
subsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
test esi, esi
jne 0x401839
movaps xmm0, xmm1
sub esp, 0x10
divsd xmm0, qword [0x4230e0]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push str._n_nMax_Tool_Diameter:_t_3.4fin___3.2fmm_n_n
call fcn.00402930
push str._nEnter_Tool_Diameter:
call fcn.00403c10
fstp qword [esp + 0x70]
movsd xmm0, qword [esp + 0x70]
add esp, 0x18
mulsd xmm0, qword [0x423110]
andps xmm0, xmmword [0x423180]
comisd xmm0, xmmword [esp + 0x50]
movsd qword [esp + 0x28], xmm0
ja 0x401751
jmp 0x401863
push str._nEnter_Tool_Diameter:
call fcn.00403c10
fmul qword [0x423110]
add esp, 4
fstp qword [esp + 0x58]
movsd xmm0, qword [esp + 0x58]
andps xmm0, xmmword [0x423180]
movsd qword [esp + 0x28], xmm0
push str._nEnter_Rotation_Angle_of_Minor_Axis:
call fcn.00403c10
movsd xmm3, qword [0x423190]
xorps xmm2, xmm2
fstp qword [esp + 0x5c]
movsd xmm4, qword [esp + 0x5c]
add esp, 4
comisd xmm2, xmm4
movsd qword [esp + 0x50], xmm2
movaps xmm1, xmm4
jbe 0x401897
xorps xmm1, xmm3
movsd xmm0, qword [0x423168]
comisd xmm1, xmm0
jb 0x4018af
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x4018a5
comisd xmm2, xmm4
jbe 0x4018b8
xorps xmm1, xmm3
push str._nEnter_Step_Arc_Length:
movsd qword [esp + 0x4c], xmm1
call fcn.00403c10
fstp qword [esp + 0x5c]
movsd xmm0, qword [esp + 0x5c]
andps xmm0, xmmword [0x423180]
push str._nEnter_Center_X:
movsd qword [esp + 0x48], xmm0
call fcn.00403c10
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
andps xmm0, xmmword [0x423180]
push str._nEnter_Center_Y:
movsd qword [esp + 0x3c], xmm0
call fcn.00403c10
fstp qword [esp + 0x64]
movsd xmm0, qword [esp + 0x64]
andps xmm0, xmmword [0x423180]
push str._nEnter_Start_Angle:
movsd qword [esp + 0x48], xmm0
call fcn.00403c10
movsd xmm3, qword [0x423190]
xorps xmm2, xmm2
fstp qword [esp + 0x68]
movsd xmm4, qword [esp + 0x68]
add esp, 0x10
comisd xmm2, xmm4
movaps xmm0, xmm4
jbe 0x40194f
xorps xmm0, xmm3
movsd xmm1, qword [0x423168]
comisd xmm0, xmm1
jb 0x40196a
nop dword [eax]
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x401960
comisd xmm2, xmm4
jbe 0x401973
xorps xmm0, xmm3
push str._nEnter_End_Angle:
movsd qword [esp + 0x14], xmm0
call fcn.00403c10
movsd xmm6, qword [0x423190]
xorps xmm5, xmm5
fstp qword [esp + 0x5c]
movsd xmm0, qword [esp + 0x5c]
add esp, 4
comisd xmm5, xmm0
movaps xmm1, xmm0
jbe 0x4019a7
xorps xmm1, xmm6
movsd xmm3, qword [0x423168]
comisd xmm1, xmm3
jb 0x4019bf
subsd xmm1, xmm3
comisd xmm1, xmm3
jae 0x4019b5
comisd xmm5, xmm0
jbe 0x4019c8
xorps xmm1, xmm6
ucomisd xmm1, xmm5
movsd qword [esp + 0x20], xmm1
lahf
test ah, 0x44
jp 0x4019e1
movaps xmm1, xmm3
movsd qword [esp + 0x20], xmm1
movsd xmm0, qword [esp + 0x10]
comisd xmm0, xmm1
jbe 0x4019f7
addsd xmm1, xmm3
movsd qword [esp + 0x20], xmm1
cmp dword [ebp + 0x10], 0
movsd xmm1, qword [esp + 8]
movsd xmm2, qword [esp + 0x18]
je 0x401a55
movsd xmm0, qword [0x4230e0]
movsd xmm4, qword [esp + 0x30]
mulsd xmm4, xmm0
mulsd xmm1, xmm0
mulsd xmm2, xmm0
movsd qword [esp + 0x30], xmm4
movsd xmm4, qword [esp + 0x38]
mulsd xmm4, xmm0
movsd qword [esp + 0x38], xmm4
movsd xmm4, qword [esp + 0x40]
mulsd xmm4, xmm0
movsd qword [esp + 0x40], xmm4
movsd xmm4, qword [esp + 0x28]
mulsd xmm4, xmm0
jmp 0x401a5b
movsd xmm4, qword [esp + 0x28]
test esi, esi
jne 0x401a6f
subsd xmm2, xmm4
subsd xmm1, xmm4
movsd qword [esp + 0x18], xmm2
jmp 0x401a80
movaps xmm0, xmm4
addsd xmm4, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x18], xmm4
movsd xmm0, qword [esp + 0x48]
xor esi, esi
comisd xmm5, xmm0
movsd qword [esp + 8], xmm1
movaps xmm1, xmm0
jbe 0x401a9a
xorps xmm1, xmm6
comisd xmm1, xmm3
jb 0x401aaa
subsd xmm1, xmm3
comisd xmm1, xmm3
jae 0x401aa0
comisd xmm5, xmm0
jbe 0x401ab3
xorps xmm1, xmm6
subsd xmm3, xmm1
sub esp, 8
movsd qword [esp], xmm3
call fcn.00403b00
xorps xmm0, xmm0
add esp, 8
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x20]
comisd xmm0, xmmword [esp + 0x10]
fstp qword [esp + 0x48]
jb 0x401c48
movsd xmm0, qword [esp + 0x48]
call fcn.0040eaa0
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [esp + 0x48]
call fcn.0040f7b0
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [esp + 0x10]
nop
sub esp, 8
movsd qword [esp], xmm0
call fcn.00403b00
fstp qword [esp + 0x50]
movsd xmm0, qword [esp + 0x50]
call fcn.0040eaa0
mulsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x50]
call fcn.0040f7b0
movsd xmm1, qword [esp + 0x70]
movaps xmm2, xmm0
mulsd xmm2, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x70]
mulsd xmm0, qword [esp + 0x30]
movsd xmm4, qword [esp + 0x68]
mulsd xmm4, qword [esp + 0x30]
mulsd xmm1, xmm2
mulsd xmm2, qword [esp + 0x68]
subsd xmm4, xmm1
addsd xmm2, xmm0
movsd xmm0, qword [esp + 0x40]
addsd xmm4, qword [esp + 0x38]
subsd xmm0, xmm2
movsd qword [esp + 0x50], xmm4
movsd qword [esp], xmm0
sub esp, 0x18
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x10], xmm4
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [esp], xmm0
call fcn.00403b10
fstp qword [esp + 0x90]
movsd xmm0, qword [esp + 0x90]
add esp, 0x20
comisd xmm0, xmmword [esp + 0x40]
jb 0x401c24
movsd xmm0, qword [ebp + 8]
push esi
sub esp, 0x18
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x44]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x64]
movsd qword [esp], xmm0
call fcn.00402880
movsd xmm0, qword [esp + 0x64]
add esp, 0x1c
movsd qword [esp + 0x50], xmm0
inc esi
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x10]
addsd xmm0, qword [0x4230c8]
movsd xmm1, qword [esp + 0x20]
comisd xmm1, xmm0
movsd qword [esp + 0x10], xmm0
jae 0x401b10
pop esi
mov esp, ebp
pop ebp
ret