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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47b7e0
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push esi
push edi
mov eax, dword [0x48f400]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
fld qword [ebp + 0xc]
fsub qword [ebp + 0x2c]
fst qword [esp + 0x14]
fld qword [ebp + 0x14]
fsub qword [ebp + 0x34]
fst qword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
call sub.MSVCR90.dll__CIsqrt
fst qword [esp + 0x34]
fld qword [esp + 0x14]
fdiv st(1)
fstp qword [esp + 0x14]
fdivr qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [ebp + 0x1c]
fsub qword [ebp + 0x2c]
fst qword [esp + 0x24]
fld qword [ebp + 0x24]
fsub qword [ebp + 0x34]
fst qword [esp + 0x2c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
call sub.MSVCR90.dll__CIsqrt
fst qword [esp + 0x3c]
fld qword [esp + 0x24]
fdiv st(1)
fst qword [esp + 0x24]
fld qword [esp + 0x2c]
fdivrp st(2)
fxch st(1)
fst qword [esp + 0x2c]
fld qword [esp + 0x1c]
fmul st(1)
fld st(2)
fmul qword [esp + 0x14]
faddp st(1)
fld qword [0x485920]
fcomp st(1)
fnstsw ax
fldz
test ah, 1
jne 0x4145bc
fstp st(1)
fld qword [0x485538]
fst qword [esp + 0xc]
jmp 0x4145f8
fld qword [0x485918]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x4145d5
fstp st(1)
fld st(0)
fst qword [esp + 0xc]
jmp 0x4145f8
fstp st(2)
fstp st(2)
fstp st(0)
call sub.MSVCR90.dll__CIacos
fst qword [esp + 0xc]
fld qword [esp + 0x24]
fld qword [esp + 0x2c]
fldz
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fxch st(2)
fmul qword [esp + 0x14]
fxch st(3)
fmul qword [esp + 0x1c]
fsubp st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test esi, esi
je 0x414621
test ah, 0x41
jne 0x414632
fsubr qword [0x48ec08]
fstp qword [esp + 0xc]
jmp 0x414634
test ah, 5
jp 0x414632
fsubr qword [0x48ec08]
fstp qword [esp + 0xc]
jmp 0x414634
fstp st(0)
fld qword [ebp + 0x3c]
fdiv qword [esp + 0x34]
fld1
fsubrp st(1)
call sub.MSVCR90.dll__CIacos
fadd st(0), st(0)
fstp qword [esp + 0x2c]
fld qword [ebp + 0x3c]
fdiv qword [esp + 0x3c]
fld1
fsubrp st(1)
call sub.MSVCR90.dll__CIacos
fadd st(0), st(0)
fld qword [esp + 0x2c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41466d
fstp st(1)
jmp 0x41466f
fstp st(0)
fld qword [esp + 0xc]
fld st(0)
fdivrp st(2)
fxch st(1)
call fcn.00427ff0
mov edi, eax
inc edi
mov dword [esp + 0xc], edi
fild dword [esp + 0xc]
fdiv st(1), st(0)
fxch st(1)
fst qword [esp + 0x2c]
fld qword [esp + 0x3c]
fsub qword [esp + 0x34]
fdivrp st(2)
fxch st(1)
fstp qword [esp + 0xc]
call sub.MSVCR90.dll__CIcos
fstp qword [esp + 0x3c]
fld qword [esp + 0x2c]
call sub.MSVCR90.dll__CIsin
fst qword [esp + 0x2c]
test esi, esi
jne 0x4146c5
fmul qword [0x4859c0]
fst qword [esp + 0x2c]
cmp dword [ebp + 0x44], 0
je 0x414731
fstp st(0)
mov dword [esp + 0x44], ebx
fld qword [ebp + 0xc]
fstp qword [esp + 0x4c]
fld qword [ebp + 0x14]
fstp qword [esp + 0x54]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push 1
mov dword [esp + 0x84], 0
call fcn.00416590
mov esi, eax
test esi, esi
jne 0x414711
push 0x49
push str.e:wnccamwncsrcjc_trochoid_trunkjc_trochoid_array.h
push 0x485938
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x60]
push edx
mov ecx, esi
call fcn.0040df50
fld qword [esp + 0x2c]
mov dword [esp + 0x80], 0xffffffff
cmp edi, 1
fld qword [esp + 0x14]
fld qword [esp + 0x1c]
fld qword [esp + 0x34]
jle 0x41480d
dec edi
jmp 0x41476a
fld qword [esp + 0x1c]
fld qword [esp + 0x2c]
fld qword [esp + 0x34]
fld qword [esp + 0x24]
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fld st(2)
mov dword [esp + 0x44], ebx
fld qword [esp + 0x3c]
fmul st(4), st(0)
fld st(3)
fmul st(6)
fsubp st(5)
fxch st(4)
fst qword [esp + 0x34]
fxch st(1)
fmulp st(5)
fxch st(2)
fmulp st(3)
fxch st(3)
faddp st(2)
fxch st(1)
fst qword [esp + 0x24]
fld qword [esp + 0xc]
faddp st(3)
fxch st(2)
fst qword [esp + 0x1c]
fmul st(1), st(0)
fxch st(1)
fadd qword [ebp + 0x2c]
fstp qword [esp + 0x4c]
fmulp st(1)
fadd qword [ebp + 0x34]
fstp qword [esp + 0x54]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push 1
mov dword [esp + 0x84], 1
call fcn.00416590
mov esi, eax
test esi, esi
jne 0x4147e6
push 0x49
push str.e:wnccamwncsrcjc_trochoid_trunkjc_trochoid_array.h
push 0x485938
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x60]
push edx
mov ecx, esi
call fcn.0040df50
sub edi, 1
mov dword [esp + 0x80], 0xffffffff
jne 0x414750
jmp 0x414815
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
cmp dword [ebp + 0x48], 0
je 0x414870
fld qword [ebp + 0x1c]
mov dword [esp + 0x44], ebx
fstp qword [esp + 0x4c]
fld qword [ebp + 0x24]
fstp qword [esp + 0x54]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push 1
mov dword [esp + 0x84], 2
call fcn.00416590
mov esi, eax
test esi, esi
jne 0x41485f
push 0x49
push str.e:wnccamwncsrcjc_trochoid_trunkjc_trochoid_array.h
push 0x485938
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x60]
push edx
mov ecx, esi
call fcn.0040df50
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret