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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47b7ad
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push esi
push edi
mov eax, dword [0x48f400]
xor eax, esp
push eax
lea eax, [esp + 0x70]
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
fld qword [esp + 0x24]
fdiv st(1)
fst qword [esp + 0x24]
fld qword [esp + 0x2c]
fdiv st(2)
fst qword [esp + 0x2c]
fxch st(2)
fadd qword [esp + 0x34]
fmul qword [0x480950]
fstp qword [esp + 0x34]
fld st(1)
fmul qword [esp + 0x1c]
fld st(1)
fmul qword [esp + 0x14]
faddp st(1)
fld qword [0x485920]
fcomp st(1)
fnstsw ax
fldz
test ah, 1
jne 0x414296
fstp st(1)
fld qword [0x485538]
fst qword [esp + 0xc]
jmp 0x4142ca
fld qword [0x485918]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x4142af
fstp st(1)
fld st(0)
fst qword [esp + 0xc]
jmp 0x4142ca
fstp st(2)
fstp st(2)
fstp st(0)
call sub.MSVCR90.dll__CIacos
fst qword [esp + 0xc]
fld qword [esp + 0x24]
fldz
fld qword [esp + 0x2c]
fxch st(3)
fxch st(3)
fmul qword [esp + 0x14]
fxch st(2)
fmul qword [esp + 0x1c]
fsubp st(2)
fcompp
fnstsw ax
test esi, esi
je 0x4142f1
test ah, 0x41
jne 0x414302
fsubr qword [0x48ec08]
fstp qword [esp + 0xc]
jmp 0x414304
test ah, 5
jp 0x414302
fsubr qword [0x48ec08]
fstp qword [esp + 0xc]
jmp 0x414304
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)
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
fidiv dword [esp + 0xc]
fst qword [esp + 0x2c]
call sub.MSVCR90.dll__CIcos
fstp qword [esp + 0x24]
fld qword [esp + 0x2c]
call sub.MSVCR90.dll__CIsin
fst qword [esp + 0x2c]
test esi, esi
jne 0x414358
fmul qword [0x4859c0]
fst qword [esp + 0x2c]
cmp dword [ebp + 0x44], 0
je 0x4143be
fstp st(0)
mov dword [esp + 0x3c], ebx
fld qword [ebp + 0xc]
fstp qword [esp + 0x44]
fld qword [ebp + 0x14]
fstp qword [esp + 0x4c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push 1
mov dword [esp + 0x7c], 0
call fcn.00416590
mov esi, eax
test esi, esi
jne 0x4143a1
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 + 0x3c]
push ecx
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0040df50
fld qword [esp + 0x2c]
mov dword [esp + 0x78], 0xffffffff
cmp edi, 1
fld qword [esp + 0x14]
fld qword [esp + 0x1c]
jle 0x414471
dec edi
jmp 0x4143de
fld qword [esp + 0x2c]
fld qword [esp + 0x1c]
fld qword [esp + 0x14]
fld st(1)
mov dword [esp + 0x3c], ebx
fld qword [esp + 0x24]
fmul st(3), st(0)
fld st(2)
fmul st(5)
fsubp st(4)
fxch st(3)
fst qword [esp + 0x1c]
fxch st(1)
fmulp st(4)
fxch st(1)
fmulp st(2)
fxch st(2)
faddp st(1)
fst qword [esp + 0x14]
fld qword [esp + 0x34]
fmul st(2), st(0)
fxch st(2)
fadd qword [ebp + 0x2c]
fstp qword [esp + 0x44]
fmulp st(1)
fadd qword [ebp + 0x34]
fstp qword [esp + 0x4c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push 1
mov dword [esp + 0x7c], 1
call fcn.00416590
mov esi, eax
test esi, esi
jne 0x41444d
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 + 0x3c]
push ecx
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0040df50
sub edi, 1
mov dword [esp + 0x78], 0xffffffff
jne 0x4143d2
jmp 0x414477
fstp st(2)
fstp st(0)
fstp st(0)
cmp dword [ebp + 0x48], 0
je 0x4144cf
fld qword [ebp + 0x1c]
mov dword [esp + 0x3c], ebx
fstp qword [esp + 0x44]
fld qword [ebp + 0x24]
fstp qword [esp + 0x4c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push 1
mov dword [esp + 0x7c], 2
call fcn.00416590
mov esi, eax
test esi, esi
jne 0x4144be
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 + 0x3c]
push ecx
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0040df50
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret